텍스트 파일의 특정 열 (예 : 열 10)에 값을 써야합니다.쉘의 특정 열에서 쓰는 방법은 무엇입니까?
touch test.txt
echo "232" >> test.txt # I want 232 to start from 10th column of text file
이동 방법은?
텍스트 파일의 특정 열 (예 : 열 10)에 값을 써야합니다.쉘의 특정 열에서 쓰는 방법은 무엇입니까?
touch test.txt
echo "232" >> test.txt # I want 232 to start from 10th column of text file
이동 방법은?
for x in $(seq 10)
do
echo -n ' '
done
echo "232" >> test.txt
printf
은 오프셋을 제공하는 또 다른 방법입니다. 오프셋 (field width
)의 양을 format specifier
의 인수로 취할 수 있다는 이점이 있습니다. printf
명령 format specifier
그냥 사용을 말한다
#!/bin/sh
col="${1:-10}" # column offset (default: 10)
stuff="${2:-232}" # variable to write at offset
printf "%*s%s\n" "$col" "" "$stuff" # write $stuff at $col offset
exit 0
가 offset
을 만들려면 : 다음은 예를 들어 두 번째 인수 (10/232
당신의 기본값이 사용)로 첫 번째 인수 및 the data to write at that offset
로 column offset
를 취할 것 minimum field width
이 $col
인 경우 empty-string
(""
)을 쓰고 그 후에 데이터 ($stuff
)를 쓰고 newline
을 쓰십시오. prncol.sh
로 저장 스크립트로 :
출력 : 물론
$ bash prncol.sh
232
$ bash prncol.sh 5 501
501
$ bash prncol.sh 15 anything
anything
이 test.txt
에 출력 쓰기 무엇 test.txt
-
printf
단지redirect/append
출력하는 "* 열 *" ? –echo 명령에 대해 구체적으로 말하면 -e 옵션을 사용할 수 있습니다. -e 옵션을 사용하면 다양한 백 슬래시 방식을 사용하여 출력 형식을 지정할 수 있습니다. –
줄의 시작에서 10 번째 필드를 말하면 탭을 사용하고 싶지 않습니다. –