所以我必须一次运行剪切和排序文件。我使用这个命令:如何运行多个Unix命令?
sort -k2 customers;cut -f7-31 customers
目的是切割线7-31然后按字母顺序组织它们,但我不知道如何去实现它。任何输入都会有所帮助,谢谢。
所以我必须一次运行剪切和排序文件。我使用这个命令:如何运行多个Unix命令?
sort -k2 customers;cut -f7-31 customers
目的是切割线7-31然后按字母顺序组织它们,但我不知道如何去实现它。任何输入都会有所帮助,谢谢。
目的是切割线,7-31 ...
您可以使用sed
:
sort -k2 customers | sed '7,31!d'
这将管sort
输出到sed
这将显示7行 - 从sort
输出的31(包括两端)。
为了选择一个字符范围,则需要将-c
选项提供给cut
和不-f
(其选择字段):
sort -k2 customers | cut -c7-31
这将选择字符7 - 在每行31从sort
输出。
为了sort
最终输出,使用另一管道:
sort -k2 customers | cut -c7-31 | sort
太棒了!非常感谢你,帮助我百万! – user2902041
我不明白它 - 因为'cut'和'sort'不会以任何方式影响对方,为什么即使打算在后面再度过一次,为什么还要用'sort -k2'来打扰呢?不是你的代码几乎等同于cut -c7-31 | sort'? – Amadan
@Amadan OP可能需要的想法是如何使用多个管道。我并不不同意关于多余的“排序”的观点。也就是说,问题中有一些样本输入/输出总是有帮助的。 – devnull
这里的关键是要使用管道这是在外壳的奇最强大的东西之一。见Unix Pipes
管道在UNIX中是美好的;强大。我有没有提到过这个?
要回答你的问题;改变;
到|
和删除文件名
sort -k2 customers | cut -f7-31
会在排序文件的客户发送的是输出到剪切的输入运行;没有临时文件。
一般来说,你会怎么做
sort -k2 customers | cut -f7-31 > customers.modified
你可以有多个命令在管道,只要你喜欢;所以删除你想要的副本
sort -k2 customers | uniq | cut -f7-31 > customers.modified
“cut lines 7-31” - lines or fields?或列? '切'不能削减线路,所以我想确定你在问什么。任何一个最小例子的机会? – Amadan
这里是名副其实的问题: 使用vi创建一个名为“my_customers”用适当的序幕文件。此脚本应该使用'剪切'和'排序'来创建'客户'文件的列表,其中包含按客户名称排序的客户姓名和电话。“客户”文件具有以下固定长度 长度格式: 字段位置 ----------------------- --------- - 客户编号1-5 名称7-31 市33-47 州49-50 邮编54-59 电话60-71 – user2902041
即时通讯能够通过使用切割线切割-f7-31客户,然后即时通讯也能够通过使用排序-k2客户(2代表第二列)的名称对相同的文件进行排序,现在我只需要它按字母顺序给我切割信息..我真的很新,所以即时尝试解释最好的我可以 – user2902041