대신 "|" 뒤에 빈 줄을 삽입하고 싶습니다.
inp.txt
abcd |
efgh |
ijkl |
out.txt
abcd
efgh
ijkl
이것은 유닉스에 있습니다. 내가 시도할 때마다
sed -i.bak 's/|/\n/g' inp.txt
그것이 반환하는 것은 모두
abcd n
efgh n
ijkl n
답변1
\n
백슬래시를 추가한 \
후 Enter다음 명령을 사용하는 대신 키를 누르고 계속할 수 있습니다.
sed -i.bak 's/|/\
/g' inp.txt
|
$
줄 끝에 남은 공백 문자( )를 바꾸려면 다음을 사용합니다.
sed -i.bak 's/ |$/\
/' inp.txt
g
로고를 교체할 필요가 없습니다 .
답변2
파이프 문자가 항상 줄 끝에 있으면 다음과 같이 할 수 있습니다.
$ sed -i.bak -e '/[|]$/G' -e 's///' inp.txt
그렇지 않은 경우 및/또는 연속된 파이프가 하나 이상 있는 경우 다음을 수행하십시오.
$ sed -i.bak -e 'y/|/\n/' file.txt
줄의 모든 파이프 문자를 개행 문자로 변환합니다.