我在每个子目录中都有一个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.csv6,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但它似乎无法解决问题。有什么想法吗?
答案 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
命令会占用每个文件的最后一行,并将其视为文件名。