私のフォルダには10,000個のファイルがあり、すべてを確認する必要があります。すべてA0001.png、A0002.png、A0003.png、...A0100.png、...A0999.png、...A1000.png、...A09999.png、...A10000と呼ばれます。 png。
10個ずつ開いてブラウズして閉じ、次の10個を開けたいのですが、まだターミナルの使い方が慣れている段階なので、どうすればいいのかわかりませんね。
私がするとき:
open A000*.png
あまりオープン
ベストアンサー1
存在するzsh
:
open A000*.png([1,10])
最初の10個。
ではbash
いつでも次のことができます。
files=(A000*.png)
open "${a[@]:0:10}"
またはループで:
while ((${#files[@]})); do
open "${files[@]:0:10}"
files=("${files[@]:10}")
done
これは動作しますが、zsh
少しzsh
厄介な構文を使用して行うことができます。
while (($#files)) {
open $files[1,10]
files[1,10]=()
}
別のオプションは、次のものを使用することですxargs
。
printf '%s\0' A000*.png | xargs -0n10 open
これはopen
標準入力に影響を与えます。同様の特性を持つ関数がzsh
あります。zargs
autoload zargs # in ~/.zshrc
zargs -n 10 A000*.png -- open
open
これにより、対応する10個のファイルで必要なすべての操作を実行する関数として定義できます。たとえば、次のようになります。
open() {
image_viewer $argv
read -q '?continue? ' || return 255
}