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/,$//' # 마지막 줄에 2줄 추가 - $ : 마지막줄, a : append sed -i -e '$a\ foo1 bar1\ foo2 bar2' file.txt # 혹은 유사하게, TEXTTOEND 를 마지막줄에 추가 sed -i -e '$aTEXTTOEND' file.txt
xclip -o -sel clip | sed -Ez '$ s/\n+$//' \ | sed 's/$/,/' \ | sed '$ s/,$//' \ | xclip -i -sel clip