b.txt 화일중 100번째 라인 후로 a.txt 화일 내용을 넣어서 c.tx
글쓴이: 익명 사용자 / 작성시간: 금, 2002/12/13 - 2:43오후
고수님들 부탁 드립니다.
200라인이 되는 문서가 2개 있습니다.
a.txt, b.txt
a.txt 문서에 100전째 줄부터 b.txt
내용을 추가 시켜 c.txt 화일을 만들고 싶습니다.
sed '/#chorus-star\t/r yesan$da-$ti2' chorus.out > dhcpd.good
위 명령을 사용 했었는데. b.txt에 #chorus-start 다음으로
넣고 싶었거든요. 근데 #을 주석으로 인식하는 바람에
안되네요.
제가 #chorus-start 문자의 라인 번호를 알구 있거든요.
그리니까 #chorus-start가지구 있는 라인 100 이후로 a.txt
를 넣어서 c.txt로 만들려구 하는 겁니다.
그리고 yesan$da-$ti2 이것을 변수로 인식하지 않고 그냥 화일 이름으로
인식하네요. 원래는 yesan20021213-12 이런 화일인데 그냥 yesan$da-$ti2
이렇게 인식을 해 버리네요.
고수님들의 조언이 필요합니다.
이글읽은 님들에게 행복이 가득하길
Forums:
Re: b.txt 화일중 100번째 라인 후로 a.txt 화일 내용을 넣어서
sed도 재밌는 기능이 많네요? ^^
sed '/#chorus-star\t/r yesan$da-$ti2' chorus.out > dhcpd.good
#chorus-star\t 는 #chorus-start의 오타인가요? 아니면
#chorus-star 다음에 탭이 있다는 건가요? -_-;;
테스트를 해봤습니다.
파일 a 는
a1
a2
a3
#chorus-start
a4
a5
로 되어있고요,
파일 b 는
b1
b2
b3
b4
b5
로 되어있습니다.
insertfile=b # csh이라면 set insertfile=b
sed "/#chorus-start/r $insertfile" a
라고 하니까 a 파일의 #chorus-start 라인 뒷쪽으로 b 파일의 내용이
가서 붙어서 표준출력으로 나오네요.
# <- 이 문자는 주석으로 처리 안됐고요,
변수치환 안된 것은 ' (싱글쿼트) 안이라서 그런거고요.
근데 원한게 이거 맞나요? -_-;;
Re^2: b.txt 화일중 100번째 라인 후로 a.txt 화일 내용을 넣어
insertfile=yesan$da-$ti2
sed "/#chorus-star\t/r $insertfile" chorus.out > dhcpd.good
sed "/#chorus-start/r $insertfile" chorus.out > dhcpd.good
sed `/#chorus-star\t/r $insertfile` chorus.out > dhcpd.good
sed `/#chorus-start/r $insertfile` chorus.out > dhcpd.good
이렇게 해 봤거든요. 근데 안되네요.
최종 합쳐지는 내용은 dhcpd.good 파일에 넣구 싶거든요.
이상하네.
Re^3: b.txt 화일중 100번째 라인 후로 a.txt 화일 내용을 넣어
올려주신 것 두번째 형식으로 하면 될 것 같은데
안된다니 뭔가 다른 쪽에서 문제가 있는 듯 합니다.
두 파일에서 잡다한 것 다 빼고 핵심되는 부분만 해서
올려봐주시고요, 이 파일들을 대상으로 실행한 결과랑,
원래 원하는 결과파일 형식도 올려봐 주시고요.
% echo yesan$da-$ti2
를 수행하셔서 원하는 값인 yesan20021213-12 가
나오는지도 확인해보시구요.
Re^4: b.txt 화일중 100번째 라인 후로 a.txt 화일 내용을 넣어
sed "/#chorus-star\t/r $insertfile" chorus.out > dhcpd.good
되네요. 님 감사 합니다.
우와 신난다.
핫 고쑤~ 인사 한거거든요.
댓글 달기