5.7. 测试和保存输出——testsed
5.7 测试和保存输出——testsed
testsed 这个脚本自动化了将 sed 输出保存到一个临时文件中的过程。它期待发现在当前文件夹的脚本文件 sedscr,然后将其中的指令应用在命令行上命名的输入文件。输出被放置在临时文件中。
for x; do
gsed -f sedscr "$x" >"$x".tmp
diff "$x" "$x".tmp
done
$x 加上"",有空格的文件名也不会出错了。
我这里使用了 gsed 而不是 mac 自带的 sed
文件名必须在命令行上指定。结果这个脚本将输出保存在前缀为 "tmp." 的临时文件中。你可以检查这个临时文件来确认你的编辑是否被正确地进行。如果你同意这个结果,你可以使用 mv 来用临时文件来覆盖原始文件。
你还可以shell 脚本里结合 diff 命令。(添加 diff 命令在 sed 命令后)
如果你发现你的脚本没有产生你期待的结果。记住最简单的 "修改" 通常是完善你的编辑脚本,然后再一次将它运行在原始输入文件上。不要写一个新脚本来“撤销”或去改进临时文件的那些改变。
推荐文章: