我有一个包含 2 列的文件,每列有近 100 个元素。
00000 4f000
00001 3df56
00002 4fdea
..... .....
我想将文件的内容更改为:
0x00000, 0x4f000;
0x00001, 0x3df56;
........ ........
我可以运行任何 unix 命令来更改为上述格式吗?
答案1
您可以使用单行awk
awk '$1="0x"$1",",$2="0x"$2";"' file
答案2
看一下这个 :)
$ cat file.txt
00000 4f000
00001 3df56
00002 4fdea
代码:
$ sed -r 's/^([0-9]+)\s+([[:alnum:]]+)/0x\1, 0x\2;/' file.txt
或者 :
$ perl -pe 's/^(\d+)\s+([[:alnum:]]+)/0x$1, 0x$2;/' file.txt
输出:
0x00000, 0x4f000;
0x00001, 0x3df56;
0x00002, 0x4fdea;
答案3
最简单的 Sed 解决方案,除了您所显示的内容之外,不需要任何其他输入:
sed -En 's/^(.....) (.....)$/0x\1, 0x\2;/p'
不包含正好十一个字符(其中中间一个是空格)的行将从输出中省略。