유닉스 파일 이름의 처음 5자를 가져옵니다.

유닉스 파일 이름의 처음 5자를 가져옵니다.

아래와 같은 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"

관련 정보