我的脚本的输出是使用 awk
进行制表符分隔的:
awk -v variable=$bashvariable '{print variable"\t single\t" $0"\t double"}' myinfile.c
awk
命令在while循环中运行,每个周期更新变量值和文件myinfile.c。使用此命令可以获得预期的结果。但是,如果myfile.c包含空行(可能会包含),它将不打印有关信息。我能告诉awk
忽略空行吗?我知道可以通过从myinfile.c中删除空行来完成这项工作,我了解sed和tr的方式,但我希望awk在上述命令本身中执行它,而不是作为下面的单独解决方案或管道解决方案。
sed '/^$/d' myinfile.c
tr -s "\n" < myinfile.c
感谢您提前给予的建议和回复。
ASCII
中的"0"
、"-0"
、"0.0000"
等内容时,您的解决方案会出现问题(基本上是任何awk
要过于聪明并帮您进行数字解释的情况):echo "0" | awk -v variable=$bashvariable '$0{print variable"\t single\t" $0"\t double"}' < nothing gets printed. new shell prompt > %
。 - RARE Kpop Manifesto