2017-01-21 3 views
0

Finderで選択したファイルのクリップボードファイルのサイズ(バイト単位)をAutomator(Runシェルスクリプト> Bash)にコピーしてサービスを作成します。私はbashにあまり精通しておらず、これが間違っている場所を見ることはできません。 ファイルを右クリックしたときに 'サービス'メニューに表示されるようにしておき、空きがあればどこにでもファイルサイズを貼り付けることができます。私はAutomatorの中で選択した オプションは次のとおりです。引数Automatorワークフローでのファイルサイズの取得

for f in "[email protected]" 
do 
    getty=$(ls -l "$f") 
done 

IFS=' ' read -a newList <<< "${getty}" 

echo -n ${newList[4]} | pbcopy 
として

サービスは "Finder.app" で選択した "ファイルやフォルダ" を受信

シェル/ binに/ bashの

パス入力

シェルスクリプトの実行に失敗しました - 1エラー:

- :-c:line1:予想外のトークンに近い構文エラー `do

+0

私たちはより/提案する優れたソリューションを提供するために、あなたがより良い方法であなたの要件をまとめることができますこの? – Inian

+0

確かに、編集された質問 – bzzWomp

+0

引数には何が渡されますか? 'getty'にどのようなプロパティを格納しようとしていますか? '$ {newList [4]}'にあるもの – Inian

答えて

2

lsの代わりにstatを使用してファイルサイズを取得してください。クリップボードに、たとえば、ファイルのグループの名前とサイズをコピーするには

stat -f '%z' "$f" | pbcopy 

stat -f '%N %z' "[email protected]" | pbcopy 
+0

' ++ '、正確にはどうすれば – Inian

+0

ニース、これは素晴らしいです。私は%Nを削除しましたので、クリップボードへのコピーはファイルサイズではなくファイルサイズだけです – bzzWomp

+0

確か;私は、複数のフィールドを追加する方法と、必要に応じてあるサイズと別のサイズを区別する方法を示すために、それを投げただけです。各入力ファイルに対して表示できるすべてのデータについては、 'stat'マンページを参照してください。 – chepner

関連する問題