"리눅스 파일 특정 행 내용 교체"의 두 판 사이의 차이

7번째 줄: 7번째 줄:
;명령어
;명령어
<source lang='bash'>
<source lang='bash'>
sed -i "행번호s/.*/바꿀문자열/g" 파일명
sed -i "행번호s/.*/새문자열/g" 파일명
</source>
</source>


18번째 줄: 18번째 줄:
[root@localhost ~]# sed -i "2s/.*/HELLO TOAST/g" test.txt
[root@localhost ~]# sed -i "2s/.*/HELLO TOAST/g" test.txt
[root@localhost ~]# cat test.txt
[root@localhost ~]# cat test.txt
TEST1 TEST2 TEST3 TEST4
HELLO TOAST
TEST1 TEST2 TEST3 TEST4
</source>
===방법 2: awk===
;명령어
<source lang='bash'>
awk 'NR==행번호{$0="새문자열"}1' 원본파일명 > 새파일명
</source>
;실습
<source lang='bash'>
[root@localhost ~]# echo 'TEST1 TEST2 TEST3 TEST4
TEST1 TEST2 TEST3 TEST4
TEST1 TEST2 TEST3 TEST4' > test.txt
[root@localhost ~]# awk 'NR==2{$0="HELLO TOAST"}1' test.txt > test2.txt
[root@localhost ~]# cat test2.txt
TEST1 TEST2 TEST3 TEST4
TEST1 TEST2 TEST3 TEST4
HELLO TOAST
HELLO TOAST

2014년 6월 11일 (수) 17:55 판

replacing string in Nth line
리눅스 파일 특정 행 내용 교체
n번째 행 내용 바꾸기

1 전체 교체

1.1 방법 1: sed

명령어
sed -i "행번호s/.*/새문자열/g" 파일명
실습
[root@localhost ~]# cat test.txt
TEST1 TEST2 TEST3 TEST4
TEST1 TEST2 TEST3 TEST4
TEST1 TEST2 TEST3 TEST4
[root@localhost ~]# sed -i "2s/.*/HELLO TOAST/g" test.txt
[root@localhost ~]# cat test.txt
TEST1 TEST2 TEST3 TEST4
HELLO TOAST
TEST1 TEST2 TEST3 TEST4

1.2 방법 2: awk

명령어
awk 'NR==행번호{$0="새문자열"}1' 원본파일명 > 새파일명
실습
[root@localhost ~]# echo 'TEST1 TEST2 TEST3 TEST4
TEST1 TEST2 TEST3 TEST4
TEST1 TEST2 TEST3 TEST4' > test.txt
[root@localhost ~]# awk 'NR==2{$0="HELLO TOAST"}1' test.txt > test2.txt
[root@localhost ~]# cat test2.txt
TEST1 TEST2 TEST3 TEST4
HELLO TOAST
TEST1 TEST2 TEST3 TEST4

2 일부 교체

3 같이 보기

4 참고 자료

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}