【发布时间】:2021-05-23 02:18:08
【问题描述】:
我正在尝试格式化剪切、粘贴输出,但 sed 不起作用。
文件.txt
Apple
Banana
Apple
Banana
Orange
Apple
Orange
code.sh
cut -f2 file.txt | sort | uniq | sed 's/^\|$/#/g'| paste -sd,\& -
ubuntu 上的预期输出/输出
#Apple#,#Banana#&#Orange#
在 macOS 上获取输出/输出
Apple,Banana&Orange
注意:代码可在 Ubuntu 上运行,但在 MacOS 上则不行。
【问题讨论】:
-
仅供参考,您可以将
sort | uniq组合到sort -u -
macos sed 可能不支持
\|.. 你可以试试sed -E 's/^|$/#/g'另见:stackoverflow.com/questions/24275070/… -
此问题与
cut、sort、uniq、paste无关。您可以将整个示例简化为echo foo | sed 's/^\|$/#/g' -
@Sundeep 很奇怪,在每行的开头插入
#,而不是结尾。 -
为什么是
cut -f2?该文件只有一个字段。