相关疑难解决方法(0)

了解 `find` 的 -exec 选项

我发现自己不断地查找语法

find . -name "FILENAME"  -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)

主要是因为我不明白这-exec部分是如何工作的。大括号、反斜杠和分号的含义是什么?该语法还有其他用例吗?

shell find

116
推荐指数
1
解决办法
8万
查看次数

使用 find exec 计算嵌套在 subdir 中的 csv 文件中的行数

我想find对一些嵌套的 csv 文件的结果运行两个管道命令,但我很惨地失败了。

这是一个想法:

$ find ./tmp/*/ -name '*.csv' -exec tail -n +2 {} | wc -l \;
Run Code Online (Sandbox Code Playgroud)

为了计算每个 CSV 文件的标题行。

该命令失败:

wc: ';': No such file or directory
find: missing argument to `-exec'
Run Code Online (Sandbox Code Playgroud)

for在这种情况下我真的需要做一个循环吗?
例如:

wc: ';': No such file or directory
find: missing argument to `-exec'
Run Code Online (Sandbox Code Playgroud)

但是这样我就失去了很好的输出,find其中确实包括计数中的文件名。

使用此解决方案时,我也丢失了文件名:find -exec 中的管道命令?

$ for f in ./tmp/*/*.csv; do tail -n +2 ${f} | wc -l; done
Run Code Online (Sandbox Code Playgroud)

一点精度;当我谈到打印的文件名时,这是因为我在单个文件上调用命令时习惯了以下结果:

$ tail -n +2 | …
Run Code Online (Sandbox Code Playgroud)

ubuntu pipe find exec

3
推荐指数
1
解决办法
99
查看次数

标签 统计

find ×2

exec ×1

pipe ×1

shell ×1

ubuntu ×1