다음과 같은 파일이 있습니다.
0/1:34:89:09 0/0:985:083:67 0/1:687:90887:975 0/1:54:79:25 0/0:5:83:67 0/1:67:9087:97 0/1:574:779:225 0/0:275:73:627 0/1:67:47:77
원하는 파일이 다음과 같이 보이도록 0/0
시작하는 열을 바꾸고 싶습니다 .homo
0/1:34:89:09 homo 0/1:687:90887:975 0/1:54:79:25 homo 0/1:67:9087:97 0/1:574:779:225 homo 0/1:67:47:77
답변1
확장자에 관계없이 이 처리에서 모든 입력 파일이 동일하게 적용되므로 "homo"는 "동일"을 의미한다고 가정합니다.
sed -iBAK 's_\(0/0:[0-9]\+:[0-9]\+:[0-9]\+\)_homo_g' text.txt
-iBAK
원본 파일을 백업하려면 BAK 접미사를 사용하세요 .
답변2
사용 sed -r 's|0/0[^ $]+|homo|g'
:
$ echo "0/1:34:89:09 0/0:985:083:67 0/1:687:90887:975 0/1:54:79:25 0/0:5:83:67 0/1:67:9087:97 0/1:574:779:225 0/0:275:73:627 0/1:67:47:77 0/0:275:73:628" | \
sed -r 's|0/0[^ $]+|homo|g'
0/1:34:89:09 homo 0/1:687:90887:975 0/1:54:79:25 homo 0/1:67:9087:97 0/1:574:779:225 homo 0/1:67:47:77 homo