首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何同时使用剪切和粘贴

如何同时使用剪切和粘贴
EN

Stack Overflow用户
提问于 2013-08-01 07:09:42
回答 3查看 18.4K关注 0票数 2

我尝试在同一命令行中使用剪切和粘贴,但不知何故不起作用。我有两个文件,fileA和fileB。

代码语言:javascript
复制
fileA
a b
c d


fileB
1 2 3 4
5 6 7 8

我想删掉fileB的第二列和第三列。我通过下面的命令来完成这项工作。

代码语言:javascript
复制
cut -f 2-3 fileB

在此之前,我想粘贴fileA中的列

代码语言:javascript
复制
paste fileA | cut -f 2-3 fileB > myNewFile

所以myNewFile看起来就像

代码语言:javascript
复制
a b 2 3
c d 6 7

我可以用两行代码来完成这项工作。

代码语言:javascript
复制
cut -f 2-3 fileB > part1
paste fileA part1 > myNewFile

但相反,我想一口气完成这项工作。类似于

代码语言:javascript
复制
paste fileA | cut -f 2-3 fileB > myNewFile

这不起作用。它只打印剪切命令,而不对粘贴执行任何操作。我如何才能在一个命令中完成这项工作?

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2014-09-18 03:15:26

解决方案1:

代码语言:javascript
复制
paste fileA <(cut -f 2-3 fileB) > myNewFile

解决方案2:

代码语言:javascript
复制
paste fileA fileB | cut -f1-2,4-5
票数 3
EN

Stack Overflow用户

发布于 2013-08-01 09:28:46

听起来您可能需要joinpaste命令。

下面显示了一个使用paste连接所有列的示例,然后是一些取自http://hintsforums.macworld.com/showthread.php?t=16618的用于过滤所需列的列操作命令:

代码语言:javascript
复制
$ cat foo
x1 y1
a1 b1
c1 d1
e1 f1

$ cat goo
x2 y2
a2 b2
c2 d2
e2 f2

$ paste foo goo
x1 y1   x2 y2
a1 b1   a2 b2
c1 d1   c2 d2
e1 f1   e2 f2

$ paste foo goo | column -t
x1  y1  x2  y2
a1  b1  a2  b2
c1  d1  c2  d2
e1  f1  e2  f2

$ paste foo goo | column -t | colrm 9 12
x1  y1  y2
a1  b1  b2
c1  d1  d2
e1  f1  f2
票数 2
EN

Stack Overflow用户

发布于 2013-08-08 13:43:00

尝尝这个

代码语言:javascript
复制
 paste fileA fileB | column -t | awk -F' ' '{print $1" "$2" "$4" "$5}'

或者这个

代码语言:javascript
复制
 paste fileA fileB | column -s' ' -t | sed 's/ \+ /\t/g' | sed 's/\t/ /g' | cut -d' ' -f1-2,4-5
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17982545

复制
相关文章

相似问题

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