다음 데이터가 포함된 abc.txt 파일이 있습니다(실제 데이터에는 약 200개 정도의 많은 레코드가 있습니다).
눈 | 이름
1 |
질
3 |
이제 내 파일이 다음과 같이 보이도록 텍스트를 추가하려면 어떻게 해야 합니까?
스노우|이름|장소
1|잭|파리
2|질|파리
3|6월|파리
전역 교체를 시도했지만 첫 번째 줄에 다른 텍스트가 추가되어야 합니다. 그러니 저를 도와주세요.
답변1
여기에는 세 가지 옵션이 있습니다.
awk 및 그 변형(
gawk
등mawk
):awk '{if(NR==1){print $0,"| Place"} else{print $0,"| Paris"}}' file.txt
진주:
perl -lne '$.==1 ? print "$_ | Place" : print "$_ | Paris"' file.txt
sed
sed '1 s/$/ | Place/; 1! s/$/ | Paris/' file.txt
답변2
스크립트된 "내부" 파일 편집의 경우 다음을 사용하십시오 ex
.
printf '%s\n' '1s/$/ | Place/' '2,$s/$/ | Paris/' x | ex abc.txt
printf
에게 명령을 내립니다ex
.1s
첫 번째 줄에서만 교체를 수행하십시오.2,$s
다른 모든 라인에 대해 교체를 수행합니다.x
저장 및 종료.
$
정규식에서는 "줄 끝"을 의미합니다 .