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