답변1
한 가지 방법은 다음과 같습니다.
## save the first line of one.txt in the variable $string
string=$(head -n1 one.txt)
## delete the first line of one.txt
sed -i '1d' one.txt
## replace the Xs in `>>XXXXX<<` with the contents of `$string`
## and save as the new file "$string.txt" (AAAA.txt)
sed "s/>>XXXXXXX<</>>$string<</" sample.txt > $string.txt
>>XXXXXX<<
이는 모든 행에서 단 한 번만 발생한다고 가정합니다 sample.txt
. 한 줄에 둘 이상이 있을 수 있는 경우 위 명령은 각 줄의 첫 번째 명령만 바꿉니다. 이들 모두를 바꾸려면 다음 명령을 사용하십시오.
sed "s/>>XXXXXXX<</>>$string<</g" sample.txt > $string.txt
원래 질문에는 각 줄 끝에 공백이 있습니다 one.txt
. 실제 파일의 경우에 추가하기 전에 공백을 제거해야 하는 경우 sample.txt
다음을 사용하세요.
string=$(head -n1 one.txt | sed 's/ *$//')
그런 다음 위와 동일한 명령을 실행합니다.