我可以插入一个空行,每个文件与GNU`find`处理后?

问题描述 投票:0回答:1

利用GNU find,我想通过一个空行,以对每个文件生成的输出分离。我尝试添加-printf '\n',但这是只执行一次(奇怪的是,第一个文件的输出后,我就会把它在命令行的末尾)。

下面是我试图样本:

find . -name eval_results.txt -print -exec cat {} \; -printf '\n'
bash shell awk gnu
1个回答
2
投票

可否请您尝试以下的一次。我尝试检查,你可以改变他们根据自己的需要太.csv文件。

find -type f -iname "*.csv" -print -exec awk '1;END{print ""}' {} \;

输出将是如下。(文件输出按我的系统中的文件的内容)

./file2.csv
timestamp, forecast, v1, v2 
2016-02-02 00:00:00, 68.56, 012, .23
2016-02-02 00:10:00, 23.24, .25, .32

./file1.csv
datetime, forecast
2016-02-02 00:00:00, 23.34
2016-02-02 00:10:00, 29.23

./file3.csv
timestamp, forecast[ma], v1
2016-02-02 00:00:00, 56.32, 32
2016-02-02 00:10:00, 25.21, 56

虽然我测试你的命令也和它工作正常,我(你可以把它作为替代和尝试一次)。上面的命令上发现的Ubuntu系统只是作为一个FYI上find (GNU findutils) 4.7.0-git进行测试。

© www.soinside.com 2019 - 2024. All rights reserved.