"User": "x-73098"
다음 파일 이름을 가진 여러 파일에서 호출된 변수가 있습니다. astro_root_sys-dev.txt.
"User": "x-73098" 변수가 있는 모든 파일을 찾고 해당 변수 값을 동적 "User": "x-73098"
으로 "User": "sys_user"
.
사용자 값(x-73098)은 모든 파일에서 동일하지 않으며 x- 뒤의 숫자는 많은 파일에서 다릅니다.
답변1
이 sed
선형 검색은 "unknown"이 포함된 문서를 검색하고 "sys_user"로 바꿉니다.
sed -i 's/"unknown"/"sys_user"/g' *.txt
다음으로 끝나는 모든 문자열을 변경하려면 -73098
:
x가 숫자인 경우:
sed 's/[0-9]-73098/"sys_user"/g' *.txt
x가 소문자인 경우:
sed 's/[a-z]-73098/"sys_user"/g' *.txt
x가 대문자인 경우:
sed 's/[A-Z]-73098/"sys_user"/g' *.txt
x가 대문자, 소문자 또는 숫자인 경우:
sed -i 's/[a-zA-Z0-9]-73098/User: "sys_user"/g' *.txt
답변2
노력하다
for FN in astro*.txt; do sed -r 's/(User: ")x-[[:digit:]]*"/\1sys_user"/' "$FN" > /tmp/TMP$$; mv /tmp/TMP$$ "$FN"; done