![열의 모든 요소에 0x 및 쉼표 값을 추가합니다.](https://linux55.com/image/119825/%EC%97%B4%EC%9D%98%20%EB%AA%A8%EB%93%A0%20%EC%9A%94%EC%86%8C%EC%97%90%200x%20%EB%B0%8F%20%EC%89%BC%ED%91%9C%20%EA%B0%92%EC%9D%84%20%EC%B6%94%EA%B0%80%ED%95%A9%EB%8B%88%EB%8B%A4..png)
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개의 문자(중간 문자는 공백)를 포함하지 않는 줄은 출력에서 생략됩니다.