我如何运行多个Unix命令?

所以我必须一次运行一个剪切和一个sorting文件。 我正在使用这个命令

sort -k2 customers;cut -f7-31 customers

其目标是剪掉7-31行,然后按字母顺序排列,但我不知道如何实现它。 任何input将有所帮助,谢谢。

其目标是剪线7-31 …

你可以使用sed

 sort -k2 customers | sed '7,31!d' 

这将输出sortsed ,这将显示sort输出行7 – 31(包括两端)。


为了选择一个字符范围,你需要提供-c选项而不是-f (选择字段):

 sort -k2 customers | cut -c7-31 

这将从sort输出中选择每行中的字符7 – 31。


为了sort最终的输出,使用另一个管道:

 sort -k2 customers | cut -c7-31 | sort 

这里的关键是使用管壳,这是壳体中最强大的功能之一。 见Unix管道

unix中的管道非常棒, 强大。 我有没有提到这个?

回答你的问题; 改变;| 并删除文件名

 sort -k2 customers | cut -f7-31 

将对客户文件进行排序,并将其输出发送到剪切的输入; 没有临时文件。

一般你会这样做

 sort -k2 customers | cut -f7-31 > customers.modified 

您可以根据需要在管道中安装尽可能多的命令; 所以删除你想要的重复

 sort -k2 customers | uniq | cut -f7-31 > customers.modified