아래와 같은 Unix 파일 이름이 있고 파일 이름의 처음 5자를 추출해야 합니다. 컷을 사용하여 필드 내용을 추출할 수 있다는 것을 알고 있지만 파일의 처음 5자를 가져오려고 합니다.
abc12345
def12345
ghi12345
내 예상 결과는 다음과 같습니다
abc12
def12
ghi12
답변1
쉘의 문자열 조작 기능 사용
어떤 스크립트 컨텍스트에서 사용할지 지정하지 않았으므로 일반적인 예를 들어 보겠습니다.
쉘 변수가 $x
문자열을 보유한다고 가정 abc12345
하면 ${x:0:5}
이는 처음 5자를 나타냅니다 . $x
즉, abc12
.
답변2
Posix 호환은 cut
문자(또는 UTF-8에서는 동일하지 않은 바이트) 단위로 잘라낼 수도 있습니다.
cut -c-5
또는
cut -b-5
각기
답변3
파일 이름의 처음 5자를 원한다고 가정해 보겠습니다.
문자는 cut
일반적으로 바이트가 줄어들기 때문에 작동하지 않습니다. 하지만 정확히 5자라면
다음과 같이 POSIX 이식성을 사용할 수 있습니다.${var#?????}
filename='def12345'
result=${filename%"${filename#?????}"}
echo "$result"