列のすべての要素に0xとカンマ値を追加します。

列のすべての要素に0xとカンマ値を追加します。

2つの列を持つファイルがあり、各列にはほぼ100の要素があります。

00000 4f000
00001 3df56
00002 4fdea
..... .....

ファイルの内容を次のように変更したいと思います。

0x00000, 0x4f000;
0x00001, 0x3df56;
........ ........

上記の形式に変更するために実行できるunixコマンドはありますか?

答え1

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'

正確に11文字(中間文字は空白)を含まない行は出力から省略されます。

関連情報