다음과 유사한 줄이 포함된 큰 텍스트 파일(263줄)이 있습니다.
image_name.jpg: *lots of spaces* JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, baseline, precision 8, 1024x768, frames 3 \n
image_name.jpg: *lots of spaces* JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, comment: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 70", progressive, precision 8, 960x540, frames 3 \n
image_name.png: *lots of spaces* PNG image data, 752 x 760, 8-bit/color RGBA, non-interlaced \n
사이의 모든 텍스트를 제거하는 방법:그리고\N즉시?
답변1
cut -d: -f1 file
sed -e 's/:.*//' file
awk -F: '{print $1}' file
그리고암소 비슷한 일종의 영양grep
또는많은 BSD grep
에스(그러나 POSIX는 아님 grep
):
grep -o '^[^:]*' file
cut
가장 짧습니다.
파일을 그 자리에서 수정하려는 경우 그렇게 할 수 있는 sed
옵션이 있을 수 있습니다 -i
. 하지만 정확한 작동 방식은 플랫폼에 따라 다릅니다. 그렇지 않으면 > file2 && mv file2 file
어느 쪽이든 작동합니다.
아니면ed
,어디에나:
printf ',s/:.*/\nw\n' | ed file
답변2
Perl을 관찰하세요:
perl -pe 's/:.*//' file
또는 그 자리에 백업 파일을 남겨 둡니다.
perl -i.bak -pe 's/:.*//' file