example.txt
줄 수를 세어 그 결과를 이 파일 끝에 추가하고 싶습니다 . 어떻게 해야 하나요?
나는 시도했다:
wc -l > example.txt
답변1
wc -l example.txt >> example.txt
답변2
아시다시피 wc -l에는 기본적으로 결과 번호와 파일 이름이 포함됩니다. 어떤 이유로든 결과 숫자만 표시하는 것이 더 나은 경우 다음을 시도해 보세요.
wc -l example.txt | cut -d' ' -f1 >> example.txt
따라서 example.txt가 3줄로만 시작한다면 다음과 같습니다.
a
b
c
위 명령을 실행한 후 tail
마지막 몇 줄 보기를 사용하면(이 경우 줄이 거의 없으므로 전체 파일을 볼 수 있음) 다음을 볼 수 있습니다.
$ tail example.txt
a
b
c
3
설명하다
wc -l example.txt
결과 줄과 파일 이름의 기본 수를 제공하는 것이 무엇인지 이미 알고 있습니다 .3 example.txt
- 이
cut
명령은 행에서 "필드"를 추출하는 데 도움이 됩니다. -d
구분 기호/필드 구분 기호를 설정하는 데 사용되며' '
공백으로 지정합니다.- 이
-f1
메서드는 첫 번째 필드를 선택하므로 주어진wc
출력은3 example.txt
첫 번째3
필드 입니다. >>
추가하여 결과를3
파일 끝에 저장합니다.example.txt
답변3
다음 스크립트는 파일이 아직 없으면 파일 끝에 줄 수를 추가하고, 이미 있으면 제거하고 바꿉니다.
이렇게 하면 여러 "줄 수:" 줄을 추가하지 않고도 파일을 편집할 때마다 이 스크립트를 실행할 수 있습니다.
#! /bin/bash
count=$(wc -l "$1" | cut -d' ' -f1)
tail -1 "$1" | grep -q '^Line count: '
if [ $? ]; then
count=$(( $count - 1 )) # don't count the 'Line count' line
sed -i -e '$ d' "$1"
echo "Line count: $count" >> "$1"
else
echo "Line count: $count" >> "$1"
fi
답변4
추가오직행 수, 이것을 시도해 볼 수 있습니다
$ cat example.txt | wc -l >> example.txt
파일의 총 줄 수만 표시됩니다.