내 파일 이름은 이고 file123
내용은 다음과 같습니다.
passwd:x:redhat
redhat:x:pass
passwd:x:linux
passwd:x:redhatlinux
passwd
파일 내부의 키워드, 특히 1,3행을 변경하고 싶습니다.
답변1
넌 할 수있어:
sed '1,3 s/^passwd/NEW/' file123
1,3
sed
1~3호선 만 운행s/^passwd/NEW/
passwd
선행 (^
)를 로 바꿔NEW
필요에 맞게 이 값을 변경합니다 . 1~3행은 일치 하지만1,3
정규식 패턴은 예제의 1행과 3행만 일치하므로 해당 행만 수정됩니다.
파일을 제자리에서 편집하려면 GNU 구현을 사용하십시오 sed
.
sed -i '1,3 s/^passwd/NEW/' file123
답변2
행 1과 3만 바꾸려면 다음을 수행할 수 있습니다.
sed '
1 b subst
3 b subst
b
:subst
s/string/replacement/'
또는 다음을 사용하여 awk
:
awk 'NR == 1 || NR == 3 {sub(/string/, "replacement")}
{print}'