如何用awk在最后添加新行

时间:2018-01-26 12:54:21

标签: bash shell awk printf newline

我正在搜索并尝试了很多不同的方法,但是他们并没有真正做到我需要的方法。 希望以前没有被问过百万次。

我在bashrc中有这个别名:

scs.executeUpdate();

输出是:

alias temp='awk '\''{ printf ("%0.1f",$1/1000); }'\'' < /sys/devices/platform/sunxi-i2c.0/i2c-0/0-0034/temp1_input'

我想要实现的是这样的输出:

measure@remote ~ $ temp
10.6measure@remote ~ $

3 个答案:

答案 0 :(得分:5)

替换

"%0.1f"

"%0.1f\n"

答案 1 :(得分:3)

永远不要使用别名替换命令,特别是涉及嵌套引号的命令。只需使用.bashrc中的函数来简化它

get_ratio() {
    awk '{ printf ("%0.1f\n",$1/1000); }' /sys/devices/platform/sunxi-i2c.0/i2c-0/0-0034/temp1_input
}

并从命令行调用它

measure@remote ~ $ source ~/.bashrc
measure@remote ~ $ get_ratio

答案 2 :(得分:1)

如何使用awk 添加新行的通用答案将是:

$ awk '... END{print "\n"}'  # or print ORS