在Unix中,我试图编写一系列剪切和粘贴命令(将每个命令的结果保存在文件中),该命令反转文件(下面)候选列表中的每个名称,并在姓氏后面放置一个逗号(例如,比尔约翰逊成为约翰逊,比尔)。
这是我的文件候选名单:
2233:charles harris :g.m. :sales :12/12/52: 90000
9876:bill johnson :director :production:03/12/50:130000
5678:robert dylan :d.g.m. :marketing :04/19/43: 85000
2365:john woodcock :director :personnel :05/11/47:120000
5423:barry wood :chairman :admin :08/30/56:160000
我可以从候选名单中剪切,但不知道如何在同一命令行中将其粘贴到我的 filenew 文件中。这是我的剪切代码:
cut -d: -f2 shortlist
结果:
charles harris
bill johnson
robert dylan
john woodcock
barry wood
现在我希望将其粘贴到我的 filenew 文件中,当我使用 filenew 时,结果应如下所示,
harris, charles
johnson, bill
dylan, robert
woodcock, john
wood, barry
请指导我完成这个任务。谢谢。
最佳答案
你可以用一个 awk 来完成:
awk -F: '{split($2,a, / /); if(a[2]) l=a[2] ", "; print l a[1]}' shortlist
我假设如果您没有第二个名字,您就不想打印逗号(并且您的名字中的单词不超过 2 个)。
关于linux - 如何将剪切和粘贴命令用作单行命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40049094/