줄로 구분된 일부 사용자 이름만 포함된 텍스트 파일의 예는 다음과 같습니다.
@Alice
@Bob
Cindy
Leon
@Mark
@
해당 줄이 아직 포함되지 않은 모든 줄의 시작 부분 에 어떻게 추가합니까 ?
답변1
sed
스크립트의 명령문에는 행 번호나 주소가 될 수 있고 (not)로 반전될 수 있는 [address[,address]][!] action
패턴이 있으므로 여기에 다음과 같이 작성할 수 있습니다.address
/regexp/
!
sed '/^@/! s/^/@/' < file
@
아직 존재하지 않는 줄의 시작 부분에 를 추가하세요 .
주소는 (line start( ) 다음의 라인 /^@/
)입니다. 이는 반전되어 작업(대신 line start 사용)이 일치하지 않는 라인에서만 실행됩니다.@
^
!
s/^/@/
s
@
다음과 같은 방법으로 동일한 효과를 얻을 수 있습니다.
sed 's/^@\{0,1\}/@/' < file
@
선행 0 또는 1을 @
ERE와 동일합니다.
sed -E 's/^@?/@/' < file