【发布时间】:2020-05-27 07:19:42
【问题描述】:
请给我建议
我需要浏览这个 $tmp 目录中的文件,并根据 sed 中描述的规则在行中进行替换
我对一个文件进行了训练,这个 sed 正常运行。 但是当我在 for 中执行替换时,我在输出中得到了一些废话
for file in $tmp/*.txt; do
find $tmp/ -type f -name "*.txt" -exec sed -i -e 's/, /\n''/g; s/"//g; s/$/\x0A/; s/:[ ]/;/g; s/\n''/;\n''/g; s/^[ t]*//' {} \;
done
我该如何解决? 谢谢……
向上
我做到了。
发现——真的没必要
@Rob Sweet谢谢!
【问题讨论】:
-
除非我遗漏了一些你不需要 for 循环的东西。您实际上循环了两次,因为 find 命令的字面意思是“对 $tmp 中匹配“*.txt”的每个文件执行此操作。所以要么在循环中使用 sed 命令,要么摆脱 for 循环。
-
@RobSweet - 将此作为答案!获得积分! :-)