【发布时间】:2014-11-21 21:28:11
【问题描述】:
在对重启崩溃进行故障排除时,我需要将文件中的每一行都打印到输出控制台。我想要做的是运行一个 linux 命令行或脚本来获取文件中的每一行,并在它之后放置一个包含该行的打印语句,例如:
while x<100
x=x+1
end while
会变成
while x<100
print "while x<100"
x=x+1
print "x=x+1"
end while
print "end while"
如果打印语句可以包含行号会更好:
while x<100
print "Line 50: while x<100"
x=x+1
print "Line 52:x=x+1"
end while
print "Line 54: end while"
这里的想法是找到脚本中执行的最后一行,因为那将是可能导致设备重新启动的行。目前我手动执行此操作,添加所有这些行相当耗时。
我知道 SED 和 AWK 的存在,但从未使用过它们,但我确实经常使用 ex/vi/grep/ls/wc 来整理文本文件中的内容,并且有基本的 shell 脚本编写经验。
编辑:请注意,我的问题中的所有代码都不是 shell 脚本。我正在寻求有关创建 shell 脚本或命令行来处理文件的帮助,以便文件中的每一行后跟包含前一行的打印语句。
【问题讨论】:
-
知道你的代码是什么语言很重要,当你的代码行已经包含引号时,知道如何在打印语句中转义数据。
-
通过答案阅读您的目的,在我看来,您似乎试图检测您的脚本而不是正确调试它。像this 这样使用
set -xv或extdebug的方法,看起来更可行。
标签: linux shell command-line