使用gnu`find`处理每个文件后,我可以插入空白行吗?

时间:2019-01-30 03:47:56

标签: bash shell awk gnu

使用gnu find,我想用空行分隔为每个文件生成的输出。我尝试添加-printf '\n',但这仅执行了一次(奇怪的是,在第一个文件输出之后,就像我将其放在命令行末尾一样)。

以下是我正在尝试的示例:

find . -name eval_results.txt -print -exec cat {} \; -printf '\n'

1 个答案:

答案 0 :(得分: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

尽管我也测试了您的命令,但是它对我来说很好(您可以将其作为替代方法并尝试一次)。上面的命令已在fubuntu系统上在find的find (GNU findutils) 4.7.0-git上进行了测试。