space.txt라는 파일이 있습니다. 나는 ath2와 문자열 일치를 수행하고 있습니다. 12개의 공백 뒤에 문자열 "newdata"를 삽입해야 합니다. 작동하는 아래 명령을 시도했지만 수동 흰색 12 공백을 사용했습니다. 다른 방법으로 어떻게 달성할 수 있나요?
sed -e "/ath2/a\ newdata" space.txt
이런 출력이 필요합니다
unix@BDC8-LX-CVZ52X2:~/12space$ cat space
ath1
ath2
newdata
ath3
ath4
ath5
답변1
printf
다음을 사용하여 공간을 생성 할 수 있습니다 .
sed -e '/ath2/a\'"$(printf %012s)"'newdata' "space.txt"
답변2
이것이 당신이 원하는 것입니까?
sed "/ath2/a$(printf '\%12s')newdata" space