-1

所以我必须同时运行一个剪切和一个排序文件。我正在使用这个命令:

sort -k2 customers;cut -f7-31 customers

目标是剪切第 7-31 行,然后按字母顺序组织它们,但我不知道如何实现它。任何输入都会有所帮助,谢谢。

4

2 回答 2

2

目标是切断第 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
于 2013-10-21T06:53:43.343 回答
1

这里的关键是使用管道,它是 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
于 2013-10-21T07:00:12.153 回答