각 줄에서 특정 범위의 문자를 추출합니다.

각 줄에서 특정 범위의 문자를 추출합니다.

각 줄에서 10자를 선택해야 합니다. 이런 파일이 있어요

TestSampleSampleSampleSample
Test1Test2Testtest4Test10Test11
lksdnlkdod

다음과 같이 수정해야 합니다.

 TestSample
 Tes1Test2T
 lksdnlkdod

답변1

cut을 사용하여 전체 파일을 한 줄씩 처리할 수 있습니다.

cut -c -10 < inputfile

답변2

이를 수행하는 방법에는 여러 가지가 있습니다.

  • 그리고 sed:
# Posix Regex
sed -e 's/\(.\{10\}\).*/\1/'

# Extended Regex
sed -Ee 's/(.{10}).*/\1/'
  • 그리고 awk:
awk '{ print substr($0, 1, 10) }'
  • 펄 사용:
# first way - classic one line
perl -ane 'print $1."\n" if /(.{10})/'

# second way - with field separator
perl -F"(.{10})" -ane 'print $F[1]."\n"'

또는 cut(참조@gnp답변).

관련 정보