파일 이름의 첫 번째 단어를 복사합니다.

파일 이름의 첫 번째 단어를 복사합니다.
 zBase=$(basename "{query}")
title=${zBase%.*}
echo -n $title;

위 명령은 파일 이름을 클립보드에 복사합니다(Alfred 사용: {query} 부분은 Alfred에서 가져옴). 이제 파일 이름의 첫 번째 단어만 복사하고 싶습니다. 어떻게 수정할 수 있나요?

다음은 파일 이름의 예입니다.

John 2015 명사와 동사 구조.pdf

위의 칭찬은 내 클립보드에 [John 2015 명사 및 동사 구조]를 제공합니다. 이제 나는 단지 얻고 싶다남자내 클립보드에.

답변1

title=$(echo $title | cut -d" " -f1)

에코 전에 이것을 추가하십시오. 모든 공간의 이름을 잘라내고 첫 번째 부분을 차지합니다. -> 하고 싶었던 일

답변2

sed또는 cut같은 외부 도구를 사용하는 대신 awk확장을 제거하는 데 이미 사용한 셸의 내장 변수 확장을 간단히 사용할 수 있습니다.

echo -n ${title%% *}

double을 사용하면 %%가장 긴 일치 항목을 제거한다는 의미이므로 첫 번째 공백부터 시작하는 변수에서 모든 항목을 제거합니다.

답변3

여기요, title=$(echo $zBase|awk {'print $1'})

awk에서 $1은 첫 번째 단어를 제공하고 $2는 두 번째 단어를 제공합니다.

답변4

언제든지 텍스트 처리 도구를 사용하여 작업을 수행할 수 있습니다. 예를 들면 다음과 같습니다 sed.

$ sed -r 's/^([[:alpha:]]*).*/\1/' <<< "John 2015 Noun and verb structure.pdf"
John

관련 정보