데이터의 마지막 행 아래에 불필요한 여유 공간이 있는 파일을 정리하는 데 문제가 있습니다. 엑셀에서 데이터를 복사해서 텍스트에 붙여넣을 때 생성됩니다. 내 텍스트 파일이 내 데이터에만 맞도록 하고 싶습니다. 이렇게 하면 모델을 실행할 때 계산 시간이 단축됩니다. 데이터의 마지막 행 아래에 추가 여유 공간이 있기 때문에 파일 크기가 크다는 것을 방금 알게 되었습니다.
원하지 않는 행을 정리하는 방법을 도와주셨으면 좋겠습니다.
답변1
awk '{l=l$0 RT};NF{printf "%s",l;l=""}' < your-file
후행 공백 줄이 제거됩니다.
파일이 큰 경우 공백이 아닌 첫 번째 줄을 찾을 때까지 끝부터 읽어야 할 수도 있습니다.
GNU 도구 사용:
tac your-file | sed -ne '/[^[:blank:]]/!{p;d;}' -e q | wc -c
후행 빈 줄의 크기를 반환합니다.
이를 사용하여 파일을 자를 수 있습니다.
예를 들어 bash
:
find . -type f -name '*.txt' -print0 |
while IFS= read -rd '' file; do
n=$(tac "$file" | sed -ne '/[^[:blank:]]/!{p;d;}' -e q | wc -c)
[ "$n" -eq 0 ] || truncate -r "$file" "-s-$n" "$file"
done