Arc*_*ing 1 debian sed printing awk fail2ban
在学习时,fail2ban
我遇到了这个命令。我以前从未使用awk
过,只与sed
. 我不明白为什么有printf
和print
,有:
awk '{ printf "# "; print; }' /etc/fail2ban/jail.conf | sudo tee /etc/fail2ban/jail.local
Run Code Online (Sandbox Code Playgroud)
为什么两者都在?
顺便说一句,如果你知道,我邀请你在评论中分享一个 sed 版本。
第一种printf
是将字符附加#
到输入文件的每一行,用awk
表示$0
,然后#
使用print
子句将修改后的行(之前添加的)打印到控制台。
您可以忽略一个并在命令行上运行它以查看哪个做了什么。
seq 1 5 | awk '{ printf "# "; print; }'
# 1
# 2
# 3
# 4
# 5
Run Code Online (Sandbox Code Playgroud)
它也许可以简单地写成 withprintf
或 just print
withalone 作为
awk '{ printf "# %s\n" , $0 }'
Run Code Online (Sandbox Code Playgroud)
您需要换行符,\n
因为printf
默认情况下不打印它。
awk '{ print "# "$0 }'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
77 次 |
最近记录: |