【问题标题】:xargs cat with conditional statement带有条件语句的 xargs cat
【发布时间】:2017-12-02 21:07:15
【问题描述】:

我正在处理 unix xargs cat,我不是很喜欢 unix,目前我有一个这样的 cat 命令:

    ls *ex_vs*ex.txt | xargs cat > ex.txt

    ls *en_vs*en.txt | xargs cat > en.txt

我现在要做的是发表一个具有这个含义的声明:

    ls *ex_vs*en.txt **OR** *en_vs*ex.txt | xargs cat > en_ex.txt

所以我的问题基本上是如何将条件语句(或)用于将文件放在一起。 任何建议将不胜感激。 最好的 阿尔弗雷多

【问题讨论】:

  • 不清楚你为什么认为你需要xargs。一般来说,你可以使用cat *en_vs*en.txt > en.txt。而且您对 OR 的要求也不清楚。为什么不直接做cat *en.txt > en_all.txt ; cat *ex.txt > ex_all.txt ; cat > en_all.txt ex_all.txt > all.txt。如果没有与*ex.txt*en.txt 匹配的文件,它将是空操作,并且将继续处理。最终文件将具有正确的结果。祝你好运。
  • 谢谢,你是对的,也可以这样工作。

标签: unix cat xargs


【解决方案1】:

ls 可以接受多个参数:

$ ls --help
Usage: ls [OPTION]... [FILE]...

所以你可以在 ls 之后添加两个文件选择器:

ls *ex_vs*en.txt *en_vs*ex.txt | xargs cat > en_ex.txt

你也可以使用:

 cat *ex_vs*en.txt *en_vs*ex.txt > en_ex.txt

【讨论】:

    猜你喜欢
    • 2021-11-13
    • 1970-01-01
    • 2021-06-19
    • 2019-06-12
    • 2020-08-18
    • 2017-03-06
    • 2017-07-08
    • 2020-05-24
    • 1970-01-01
    相关资源
    最近更新 更多