rclone ファイルリストからファイルサイズを削除する

rclone ファイルリストからファイルサイズを削除する

rcloneファイルサイズに言及せずにファイルのリストを取得したいです。どうすればいいのかわからないので、rcloneawkや類似のものを使って削除するつもりです。私の出力は次のとおりです

 59183070 fileserver/transfer_kimberly_2022-12-18_0558 (1).zip
     3690 fileserver/transfer_kimberly_2022-12-18_0558 (1).zip - Shortcut.lnk
 35961190 fileserver/transfer_2023-06-27_0814.zip
  7803667 fileserver/woodproject.zip
7437905920 Them/Data/Before_20230526132130642.FDB
1064525824 Them/Data/Updating_20220705231152059.FDB
1064525824 Them backup/Data/Updating_20220706231124156.FDB
1064525824 Them backup/Data/Updating_20220705231152059.FDB
1064525824 Them backup/Data/Updating_20220706231124156.FDB
  7004362 test.zip
  7004362 test (1).zip
  7803667 37939 37/Data/Updating_20220706231124156.FDB
  7803667 37939/Data/Updating_20220706231124156.FDB

最初の残りの数字はファイルサイズです。この出力が欲しい

fileserver/transfer_kimberly_2022-12-18_0558 (1).zip
fileserver/transfer_kimberly_2022-12-18_0558 (1).zip - Shortcut.lnk
fileserver/transfer_2023-06-27_0814.zip
fileserver/woodproject.zip
Them/Data/Before_20230526132130642.FDB
Them/Data/Updating_20220705231152059.FDB
Them backup/Data/Updating_20220706231124156.FDB
Them backup/Data/Updating_20220705231152059.FDB
Them backup/Data/Updating_20220706231124156.FDB
test.zip
test (1).zip
37939 37/Data/Updating_20220706231124156.FDB
37939/Data/Updating_20220706231124156.FDB

私はspace最初/。ただし、space最初のディレクトリまたはファイル名は状況を複雑にします。助けてくれてありがとう

答え1

データが行ベースのようです。しかもパターンは「0個以上のスペース、1つ以上の数字、1つのスペース」。これらの行を編集するツールの1つは次のとおりですsed

sed -E 's/^[[:space:]]*[[:digit:]]+[[:space:]]//'

私は文字クラス([[...]])を使用しましたが、リテラル文字範囲を使用することもできます。

sed -E 's/^ *[0-9]+ //'

パイプラインでそれを使用するか、sedファイルを処理させることができます。

cmd_a | sed... | cmd_b
sed... {file}

答え2

lsfサブコマンドを使用すると、rcloneファイルとディレクトリを一覧表示できますが、ファイルサイズは一覧表示できません。lsfデフォルトでは再帰的ではないため、ディレクトリを再帰的にlsf -Rリストする必要がある場合に使用できます。

次のルートが必要な場合文書(目次なし)をlsf -R —-files-only使用して出力形式を調整することもでき、高度な--formatデータフィルタリングにはいくつかのオプションがあります(参照rclone lsf —-help)。


rcloneダウンストリームユーティリティの解析を容易にするには、サブコマンドのJSON出力を使用することをお勧めしますlsjson

またはlsjson代わりに使用する場合(よく知られているJSON処理ツール)を使用して、返されたJSON配列の各要素からデータを抽出します。lslsfjqPath

rclone lsjson -R someremote:somepath | jq -r '.[].Path'

再帰はデフォルトlsjsonでは有効になっていないので、-Rここではオプションと一緒に使用します。

ディレクトリのリストを避けるには、次の項目を持つ配列IsDir項目のみを選択してくださいfalse

rclone lsjson -R someremote:somepath | jq -r 'map(select(.IsDir|not))[].Path'

(...またはを使用してくださいlsjson -R --files-only。と同じですlsf。)


参考までに、lsjson次の例と同じように見えるJSONオブジェクトの配列が返されます(データをモデルとして使用)。

{
  "Path": "Them/Data/Before_20230526132130642.FDB",
  "Name": "Before_20230526132130642.FDB",
  "Size": 7437905920,
  "MimeType": "application/octet-stream",
  "ModTime": "2023-09-04T20:10:54.367101898+02:00",
  "IsDir": false
}

答え3

パールを使う

~$ perl -pe 's/^\s*\d+\s//;'  file

音楽を活用する(以前のPerl_6)

~$ raku -pe 's/^ \s* \d+ \s //;'  file

上記はPerlとRakuで書かれた答えです。 Perl / Raku-peフラグは、自動印刷による行ごとの実行を表します(スタンドアロンコード-eの場合、行ごとの-p自動印刷の場合、つまりコードは明示的または必要printなくput入力の各行に適用されます)。 Rakuのコメントには\dASCIIとUnicode番号が含まれています。 RakuでのみASCIIを使用するには<+[0..9]>


入力例:

59183070 fileserver/transfer_kimberly_2022-12-18_0558 (1).zip
     3690 fileserver/transfer_kimberly_2022-12-18_0558 (1).zip - Shortcut.lnk
 35961190 fileserver/transfer_2023-06-27_0814.zip
  7803667 fileserver/woodproject.zip
7437905920 Them/Data/Before_20230526132130642.FDB
1064525824 Them/Data/Updating_20220705231152059.FDB
1064525824 Them backup/Data/Updating_20220706231124156.FDB
1064525824 Them backup/Data/Updating_20220705231152059.FDB
1064525824 Them backup/Data/Updating_20220706231124156.FDB
  7004362 test.zip
  7004362 test (1).zip
  7803667 37939 37/Data/Updating_20220706231124156.FDB
  7803667 37939/Data/Updating_20220706231124156.FDB

出力例:

fileserver/transfer_kimberly_2022-12-18_0558 (1).zip
fileserver/transfer_kimberly_2022-12-18_0558 (1).zip - Shortcut.lnk
fileserver/transfer_2023-06-27_0814.zip
fileserver/woodproject.zip
Them/Data/Before_20230526132130642.FDB
Them/Data/Updating_20220705231152059.FDB
Them backup/Data/Updating_20220706231124156.FDB
Them backup/Data/Updating_20220705231152059.FDB
Them backup/Data/Updating_20220706231124156.FDB
test.zip
test (1).zip
37939 37/Data/Updating_20220706231124156.FDB
37939/Data/Updating_20220706231124156.FDB

https://perldoc.perl.org/perlre
https://docs.raku.org/言語/regexes

関連情報