내 말은 파일의 mydata.txt
줄을 바꾸는 것입니다.
<time="0.*" name="file000.txt"/>
그리고
<time="0,*" name="file000.txt"/>
"0시디지털 물건"는 "쉼표 0개"로 바꿔야 합니다.같은 것". 그리고 파일 이름의 점을 바꿀 필요가 없습니다.
sed
두 항목의 차이를 감지할 수 있지만 (첫 번째 항목은 일치하지만 두 번째 항목은 일치하지 않음) 대체 문자열을 유지하는 0\.[0-9]
방법을 모르겠습니다.sed
같은 것(무엇이든 일치)
sed -e 's/0\.[0-9]/0\,?/g' mydata.txt
?
이 표현에서는 대신 무엇을 사용해야 합니까?
답변1
값을 레지스터에 넣고 다음과 같이 거기에서 복원하십시오.
sed -e 's/0\.\([0-9]\)/0\,\1/g' mydata.txt
답변2
찾았어요. 사람들은 다음을 수행해야 합니다.
\(...\)
검색 문자열에서 일치시키려는 내용을 묶으려면 이스케이프된 괄호 쌍을 사용하십시오 . 표현식에는 최대 9개의 일치 항목을 사용할 수 있습니다.\n
대체 문자열에서 일치하는 문자열을 재사용하는 데 사용됩니다 . 은n
과 과 사이의 숫자이며 위의 숫자에 해당합니다.1
9
이것은
sed -e 's/0\.\([0-9]\)/0\,\1/g' mydata.txt