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'
정확히 11개의 문자(중간 문자는 공백)를 포함하지 않는 줄은 출력에서 생략됩니다.