【发布时间】:2017-02-16 14:29:16
【问题描述】:
我在每个子目录(每个子目录称为 RUN1、RUN2 等)中有一个以“mod”开头的 csv 文件。我想找到它们,从每个中获取最后一行,然后创建一个只包含这些行的新文件。例如,如果子目录 RUN1 中的 mod1.csv 有:
1, 2, 3
4, 5, 6
子目录RUN2中的mod2.csv有
6,7,8
10,11,12
我想创建一个新文件 results.csv,其中包含
4, 5, 6
10, 11, 12
这是我的尝试:
find $(pwd)/RUN* -name 'mod*.csv' tail -n +1 |xargs cat > results.csv
我得到的错误是
find: paths must precede expression: tail
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
我有seen this,但它似乎并没有解决问题。有什么想法吗?
【问题讨论】:
-
你缺少“-exec”
-
谢谢@WilliamPursell,但我应该把它放在哪里?对 bash 来说还是相当新的。
-
顺便说一句,
find程序与bash无关。它是独立的,不是内置的shell,可以从任何语言调用。
标签: bash