Bash:尾巴,发现和猫

时间:2017-02-16 14:29:16

标签: bash

我在每个子目录中都有一个csv文件(每个子目录称为RUN1,RUN2等),以' mod'开头。我想找到它们,从每个行中获取最后一行,并创建一个仅包含这些行的新文件。例如,如果子目录RUN1中的mod1.csv具有:

$ zipinfo archive.zip | grep "^\-" | sed 's/  */ /g' | cut -f4,9 -d ' '
6 file1.txt
12 file2.txt
18 file3.txt

和子目录RUN2中的mod2.csv具有

1, 2, 3

4, 5, 6

我想创建一个包含

的新文件results.csv
6,7,8

10,11,12

这是我的尝试:

4, 5, 6

10, 11, 12

我得到的错误是

find $(pwd)/RUN* -name 'mod*.csv' tail -n +1 |xargs cat > results.csv

seen this但它似乎无法解决问题。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

我认为切普纳忘了告诉-exec尾巴会是什么:

find ./RUN* -name 'mod*.csv' -exec tail -1 {} \; > results.csv

答案 1 :(得分:0)

您忘记了-exec小学,但您不应该xargs

find ./RUN* -name 'mod*.csv' -exec tail -n +1 {} \; > results.csv

您的xarg命令会占用每个文件的最后一行,并将其视为文件名。