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が2番目の単語を提供する式に進みます。
答え4
いつでもテキスト処理ツールを使用して操作を完了できます。例えばsed
:
$ sed -r 's/^([[:alpha:]]*).*/\1/' <<< "John 2015 Noun and verb structure.pdf"
John