首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将剪切和粘贴命令作为一行命令使用?

如何将剪切和粘贴命令作为一行命令使用?
EN

Stack Overflow用户
提问于 2016-10-14 17:43:57
回答 2查看 120关注 0票数 2

在Unix中,我试图编写一系列剪切和粘贴命令(将每个命令的结果保存在一个文件中),这些命令将文件(下面)中的每个名称倒置,并在姓氏之后出现昏迷(例如,bill johnson变成johnson,bill)。

以下是我的文件入围名单:

代码语言:javascript
复制
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

我能够从短列表中删除,但不确定如何将其粘贴到同一命令行中的文件中。这是我的剪裁代码:

代码语言:javascript
复制
cut -d: -f2 shortlist

结果:

代码语言:javascript
复制
charles harris
bill johnson
robert dylan
john woodcock
barry wood

现在我想把这个粘贴到我的文件文件中,当我猫文件更新时,结果应该如下所示,

代码语言:javascript
复制
harris, charles
johnson, bill
dylan, robert
woodcock, john
wood, barry

请带我走过这段路。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-14 17:55:11

你可以用一个awk来完成它:

代码语言:javascript
复制
awk -F: '{split($2,a, / /); if(a[2]) l=a[2] ", "; print l a[1]}' shortlist

我假设,如果您没有第二个名称,则不希望打印逗号(并且名称中不超过两个单词)。

票数 2
EN

Stack Overflow用户

发布于 2016-10-14 17:47:52

使用cut拆分字符串后,使用awk比使用paste生成所需的结果要容易得多:

代码语言:javascript
复制
$ cut -d":" -f2 shortlist | awk '{printf "%s, %s\n", $2, $1}'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40049094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档