사용자 도구

사이트 도구


linux:sed

문서의 이전 판입니다!


Linux sed

파일의 내용 변경

  • -i.bak : 파일을 잠시 .bak 확장자를 가진 파일로 복제 한뒤에 변경사항을 적용하고 저장한다.
  • -i 만 하면, 백업파일 없이 원본 파일을 즉시 변경한다.
  • 여러 항목을 한번에 바꾸려면 -e 옵션을 계속 추가한다.
sed -i.bak -e "s/A/X/g" -e "s/B/Y/g" -e "s/C/Z/g" /path/to/file.txt

특정 영역에만 변경 적용

# 1 줄만 변경
sed '1 s/a/b/g' file.txt 
 
# 2~4 줄만 변경
sed '2,4 s/a/b/g' file.txt

끝에 붙은 새줄 기호 제거

# 마지막 새줄만 제거
cat x | sed -z '$ s/\n$//'
 
# 끝에 있는 여러 새줄 기호 모두 제거(중간은 그대로 둠)
sed -Ez '$ s/\n+$//'

줄 처음/끝에 문자열 넣기

# 줄 처음
sed 's/^/원하는텍스트/' file.txt
 
# 줄 끝
sed 's/$/원하는텍스트/' file.txt
 
# 마지막 줄의 마지막 쉼표 제거
sed '$ s/,$//' 
  • 클립보드 텍스트의 줄 끝에 모두 쉼표 붙여서 다시 클립보드에 넣기 / xclip
xclip -o -sel clip | sed -Ez '$ s/\n+$//' | sed 's/$/,/'  | xclip -i -sel clip

desed

참조

linux/sed.1616820644.txt.gz · 마지막으로 수정됨: 2021/03/27 13:50 저자 kwon37xi