所以我必须同时运行一个剪切和一个排序文件。我正在使用这个命令:
sort -k2 customers;cut -f7-31 customers
目标是剪切第 7-31 行,然后按字母顺序组织它们,但我不知道如何实现它。任何输入都会有所帮助,谢谢。
目标是切断第 7-31 行 ...
您可以使用sed
:
sort -k2 customers | sed '7,31!d'
这将通过管道将输出显示sort
到输出中的sed
第 7 - 31 行(包括两者)sort
。
为了选择字符范围,您需要提供-c
选项 tocut
和 not -f
(选择字段):
sort -k2 customers | cut -c7-31
这将从sort
输出中选择每行中的字符 7 - 31。
为了sort
最终输出,请使用另一个管道:
sort -k2 customers | cut -c7-31 | sort
这里的关键是使用管道,它是 shell 中最强大的东西之一。参见Unix 管道
unix 中的管道很棒。强大的。我已经提过这个了吗?
回答你的问题;更改;
为 a|
并删除文件名
sort -k2 customers | cut -f7-31
将对客户文件运行排序并将其输出发送到剪切的输入;没有临时文件。
一般来说你会做
sort -k2 customers | cut -f7-31 > customers.modified
您可以在管道中拥有任意数量的命令;所以要删除重复项
sort -k2 customers | uniq | cut -f7-31 > customers.modified