- 此问题在此处已有答案**:
Redirecting stdout with find -exec and without creating new shell(3个答案)
昨天关门了。
我正在尝试通过一个文件列表运行(几个)Awk脚本,并希望将每个文件作为不同文件夹中的输出。我已经尝试了几种方法,但无法找到解决方案。输出文件夹中的输出始终是一个名为{}
的文件,其中包括输入文件夹中所有文件的所有内容。
下面是我的代码:
input_folder="/path/to/input"
output_folder="/path/to/output"
find $input_folder -type f -exec awk '! /rrsig/ && ! /dskey/ {print $1,";",$5}' {} >> $output_folder/{} \;
你能给我一个提示吗?我做错了什么?代码是在一个. sh脚本中调用的。
1条答案
按热度按时间kwvwclae1#
我可能会选择一个(稍微)不那么复杂的
find | xargs
,例如:注:
$1,";",$5
中的逗号将在$1
、;
和$2
之间插入空格;如果不需要空格,则使用$1 ";" $5
(即删除逗号)