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 命令后)

如果你发现你的脚本没有产生你期待的结果。记住最简单的 "修改" 通常是完善你的编辑脚本,然后再一次将它运行在原始输入文件上。不要写一个新脚本来“撤销”或去改进临时文件的那些改变。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~