텍스트 파일의 특정 줄을 변경하고 싶습니다.텍스트 파일을 편집하여 특정 줄 번호의 내용을 변경하십시오.
나는이
perl -p -i -e "s/JAI/ramkrishna/ if $. == 37" test.tex
으로 시도했지만 그것은 단지 JAI
을 삭제하지만 ramkrishna
를 작성하지 않습니다.
텍스트 파일의 특정 줄을 변경하고 싶습니다.텍스트 파일을 편집하여 특정 줄 번호의 내용을 변경하십시오.
나는이
perl -p -i -e "s/JAI/ramkrishna/ if $. == 37" test.tex
으로 시도했지만 그것은 단지 JAI
을 삭제하지만 ramkrishna
를 작성하지 않습니다.
귀하의 명령은 정상적으로 작동합니다. 줄 번호가 틀렸나 보지? 그것은 우리를 위해 쉽게 있도록이
aa
bb
cc
aa bb cc JAI dd ee ff
bb
cc
aa bb cc JAI dd ee ff
xx
yy
zz
같은 test.tex
파일 명령
perl -p -i -e 's/JAI/ramkrishna/ if $. == 7' test.tex
와
는
aa
bb
cc
aa bb cc JAI dd ee ff
bb
cc
aa bb cc ramkrishna dd ee ff
xx
yy
zz
감사합니다. 그 일. 그 때 나는 더러운 것을하고 있었다. – ramkrishna
이제 count = 7 perl -p -i -e 's/JAI/ramkrishna/if $와 같은 사용자 입력으로 줄 번호를 변경하고 싶습니다. == $ count 'test.tex 하지만 작동하지 않습니다. – ramkrishna
@ramkrishna : 어떻게 '카운트'를 설정 하시겠습니까? 환경 변수입니까? '% ENV'를 통해 액세스 할 수 있습니다. 'count = 7 perl -e'print $ ENV {COUNT} ''를 시도해보십시오. – Borodin
sed '37s/JAI/ramkrishna/' filename
감사. 그 일. 이제 count = 7 sed '('$ count ') s/JAI/ramkrishna /'파일 이름 과 같은 사용자 입력으로 행 번호를 변경하고 싶습니다. 그러나 작동하지 않습니다. – ramkrishna
질문에 대한 입력을 추가하는 것을 고려에 파일을 변경 즉,'echo "abcJAIxyx"| perl -i ...'그 일은 어떻게됩니까? 행운을 빕니다. – shellter
이 저에게 효과적입니다 :'{seq 36; 에코 안녕 JAI 세상; } | perl -p -e "/ JAI/ramkrishna/if $. == 37"'- 당신은 JAI가 37 행에 나타날 것을 확신합니까? 'perl -ne '을 출력해라. "$. $ _"'test.tex' –
여전히 작동하지 않고 윈도우에 파일을 만들고 Unix/Linix로 옮긴다면'\ r \ n' 라인 엔딩이 필요하며, 리눅스가 사용하는'\ n' 라인 엔딩 (line ending)에 적용될 필요가있다. 'dos2unix test.tex'가이를 수정합니다. 행운을 빕니다. – shellter