파일 이름의 첫 번째 단어 복사

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

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

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

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

관련 정보