スクリプトを介してgdriveコマンドラインアプリケーションを使用しようとしています。出力はスペースで区切られます(ダウンロード/削除/など)、gdrive
出力の最初の項目(ファイル名)をさらに処理する必要があります。command2
出力はgdrive list --many options
次のとおりです
1zioW5nrKdWPz-UiaGla1KJkcMf-OUGfR test.sh bin 396.0 B 2019-07-24 03:28:26
だから私も
gdrive list --many options | cut -w -f1 | xargs -I {} gdrive delete {}
ただし、これを行うとエラーが発生します。
Failed to get file: googleapi: Error 404: File not found: 1zioW5nrKdWPz-UiaGla1KJkcMf-OUGfR., notFound
xargsが最後にドットを追加する理由とそれを停止する方法は?
代わりに、(read A; gdrive delete $A)
viaの代わりに出力をパイプしてみましたが、xargs
出力は同じです。
hexdump
問題を診断するには(@michael-homerの提案に従って) - 代わりに出力をパイプするときgdrive delete
(最後に追加xargs -I {} printf '<<%s>>\n' {} | hexdump -C
)、出力は次のようになります。
00000000 3c 3c 31 7a 69 6f 57 35 6e 72 4b 64 57 50 7a 2d |<<1zioW5nrKdWPz-|
00000010 55 69 61 47 6c 61 31 4b 4a 6b 63 4d 66 2d 4f 55 |UiaGla1KJkcMf-OU|
00000020 47 66 52 3e 3e 0a |GfR>>.|
00000026