linux下xargs后的命令如何使用重定向功能?

想完成的操作是:把当前目录下每个文本文件的第1-3列内容,输入到上层文件夹的同名文件

期望的脚本是:

ls *.txt | xargs -i -n 1 cut -f 1-3 {} > ../{}

实际运行的结果却是输出到了一个名称为{}的文件,如何修改才能达到我说的效果?

注: 使用shell脚本的for语句遍历文件可以完成这个功能,但我想直接使用xargs命令处理。

阅读 10.1k
1 个回答
ls *.txt | xargs -i -n 1 sh -c "cut -f 1-3 {} > ../{}"
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏