sed는 와일드카드로 대체하는 데 사용됩니다.

sed는 와일드카드로 대체하는 데 사용됩니다.

내 말은 파일의 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

찾았어요. 사람들은 다음을 수행해야 합니다.

  1. \(...\)검색 문자열에서 일치시키려는 내용을 묶으려면 이스케이프된 괄호 쌍을 사용하십시오 . 표현식에는 최대 9개의 일치 항목을 사용할 수 있습니다.

  2. \n대체 문자열에서 일치하는 문자열을 재사용하는 데 사용됩니다 . 은 n과 과 사이의 숫자이며 위의 숫자에 해당합니다.19

이것은

sed -e 's/0\.\([0-9]\)/0\,\1/g' mydata.txt

관련 정보