rclone
ファイルサイズに言及せずにファイルのリストを取得したいです。どうすればいいのかわからないので、rclone
awkや類似のものを使って削除するつもりです。私の出力は次のとおりです
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配列の各要素からデータを抽出します。ls
lsf
jq
Path
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のコメントには\d
ASCIIと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