Как открыть первые 10 файлов в папке, начиная с определенной буквы или цифры?

В моей папке 10 000 файлов, и мне нужно просмотреть все их. Все они называются: A0001.png, A0002.png, A0003.png, … A0100.png, … A0999.png, .. A1000.png, … A09999.png, … A10000.png ,

Я хочу открыть их по десять за раз, посмотреть через них, закрыть их и открыть следующую десятку, но я все еще знаком с использованием терминала, так что я не уверен, как это сделать?

Когда я делаю:

open A000*.png

Это слишком много.

2 Solutions collect form web for “Как открыть первые 10 файлов в папке, начиная с определенной буквы или цифры?”

В 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 stdin. zsh имеет функцию zargs с аналогичными функциями:

 autoload zargs # in ~/.zshrc zargs -n 10 A000*.png -- open 

Это позволяет вам определить, что open как функция, которая должна делать то, что вы хотите сделать с такими 10 файлами, как:

 open() { image_viewer $argv read -q '?continue? ' || return 255 } 

Используя петлю и захватывая пользовательский ввод, это может быть достигнуто:

 #!/bin/bash # Store all list of files you want with extension png arr=(./*.png) for ((i=0; i<${#arr[@]};)) do # -s: do not echo input character # -n 1: read only 1 character (separate with space) read -s -n 1 key for ((j=0; j<10; j++, i++)) do if [[ $key = "" ]]; then open "${arr[$i]}"; # <--- This is where you will open your file. fi done done 
  • Растровый шрифт в терминале Linux
  • Как просмотреть все команды, выполняемые текущим пользователем, во всех терминалах session / screen / byobu?
  • Может ли профиль терминала Gnome использовать UTF-8 по умолчанию?
  • Найти файлы дубликатов файлов и заглавные буквы rm
  • Использование chown $ USER: $ USER внутри сценария bash
  • Использование tar в файле с символом @ (при символе)
  • Контрольный + L не очищающий экран
  • Использование переменных для хранения цветовых кодов терминала для PS1?
  • Странное поведение значения терминала PS1 в Mac против Ubuntu
  • Почему эмуляторы терминалов Linux не поддерживают полные цвета?
  • Доступ к Windows Box из терминала Linux SSH
  • запуск команд из файлов
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.