我有这样的文件:
STH STH STH STH
232
STH STH STH STH
2342
2342
等等。
更具体地说。它包含以下行:4个单词,全部大写或数字,用空格或'n'
分隔。
我只想将包含数字的行更改为十六进制数。我试过用awk
写剧本,但我放弃了。
解决方案,有人吗?
$ awk '$0+0==$0{ $0=sprintf("%x",$0) } 1' file
STH STH STH STH
e8
STH STH STH STH
926
926
或者正如@Cyrus在下面的评论中建议的那样:
$ awk '($0+0==$0){ $0=sprintf("%0.4x",$0) } 1' file
STH STH STH STH
00e8
STH STH STH STH
0926
0926
如果这不是你想要的,那么编辑你的问题以澄清你的需求,并提供与你发布的样本输入相匹配的预期输出。