2015-01-23 8 views
1

다음과 같은 형식의 파일이 있습니다. 줄 끝 부분에 공백을 넣고 싶습니다.줄 끝에 n 개의 공백이있는 파일을 채우는 중

은 File2.txt

Steve Smith 
Thomas Muller 
Tim Cook 
Bill Gates 

내가 명령 아래 사용했지만 그것이 나에게 원하는 출력을 제공하지, 그것은

Steve 
Smith 

로 spliting 후 출력을주고있다.

while read line; do printf "%-20s\n" $line; done < file1.txt 

위의 파일에 대한 원하는 출력은 다음과 같습니다. 각 줄을 채우기 위해 추가 된 공백은 다음과 같습니다.

Steve Smithssssssssssssssssssssssssssss 
Thomas Mullerssssssssssssssssssssssssss 
Tim Cooksssssssssssssssssssssssssssssss 
Bill Gatessssssssssssssssssssssssssssss 

답변

2

견적 line 변수와 더 나은 read -r를 사용하는 :

while read -r line; do printf "%-20s\n" "$line"; done < file1.txt 

테스트 :

while read -r line; do printf "%-20s\n" "$line"; done < file1.txt | cat -vte 
Steve Smith   $ 
Thomas Muller  $ 
Tim Cook   $ 
Bill Gates   $ 
+0

감사합니다. read-exaclty는 무엇을합니까? –

+1

'help read'는'-r \t은 모든 문자를 이스케이프하기 위해 백 슬래시를 허용하지 않습니다. '라고 말합니다. 귀하의 경우에는 반드시 필요하지는 않지만 언제나 가지고있는 것이 좋습니다. – anubhava

+1

고마워요. –