Bash: 파일 출력에 텍스트 추가

Bash: 파일 출력에 텍스트 추가

저는 Shell Scripting을 처음 접했기 때문에 매우 쉬운 솔루션일 수도 있지만 제대로 작동하려면 어려움을 겪고 있습니다. 다음 내용이 포함된 파일이 있습니다.

example1.eu 
example2.eu 
example3.eu

내가 하려는 것은 파일의 내용을 다음과 같은 형식으로 한 줄로 출력하는 것입니다.

test.example1.eu,test.example2.eu,test.example3.eu

등등.

내 스크립트에 이 내용이 있지만 파일의 첫 번째 항목에 "test"를 추가하는 방법을 알 수 없습니다.

cat file | xargs | sed -e 's/ /,test./g'

example1.eu,test.example2.eu,test.example3.eu

조언 부탁드립니다 감사합니다

답변1

구분 기호를 설정하려면 '붙여넣기'를 사용할 수 있습니다. 예:

cat file | sed -e 's/^/test./' | paste -sd ','

편집: 개선된 버전(tripleee의 의견)

sed file -e 's/^/test./' | paste -sd ','

답변2

이 작업은 다음 명령을 사용하여 수행할 수 있습니다 awk.

 $ awk '{a=a"test."$0","}END{sub(/,$/,"",a);print a}' file
 test.example1.eu,test.example2.eu,test.example3.eu

그러면 문자열 변수가 생성되고 a각 줄과 쉼표가 문자열에 추가됩니다. 그런 다음 마지막 쉼표를 아무것도 없는 것으로 바꾸고 문자열을 인쇄합니다.

뒤에 쉼표가 있는 이전 응답:

 $ awk 'BEGIN{ORS=","}{print "test."$0}' file
test.example1.eu,test.example2.eu,test.example3.eu,

그러면 출력 레코드 구분 기호가 쉼표로 설정되고 test.문자열 앞에 추가된 각 줄이 인쇄됩니다.

관련 정보