Как установить настройку звука, чтобы вы могли & ldquo; Прослушать это устройство & rdquo; (то есть внешний микрофон)

Некоторые оболочки, такие как Ubuntu по умолчанию /bin/sh (которые есть dash) или mksh, не имеют расширения фигурных скобок, или в случае ksh - расширение скобки не может использовать дополненные нули:

$ ksh -c 'echo {05..13}'
5 6 7 8 9 10 11 12 13

В таких случаях мы можем использовать printf для форматирования числовой части имени файла и использовать цикл while для реализации c-like для поведения цикла (обратите внимание, чтобы заменить echo на rm или все, что вы хотите):

$ i=5; while [ "$i" -le 10 ]; do num=$(printf "%.2d" "$i" ); echo "file$num.txt";i=$(($i+1)); done
file05.txt
file06.txt
file07.txt
file08.txt
file09.txt
file10.txt

И это довольно портативно - работает с dash, ksh, mksh, также bash. В случае ksh и bash мы также можем использовать c-style for loop syntax (but not in case of mksh or dash`):

$ ksh -c 'for((i=5;i<11;i++)); do num=$(printf "%.2d" "$i" ); echo "file$num.txt";done'             
file05.txt
file06.txt
file07.txt
file08.txt
file09.txt
file10.txt

Обратите внимание, что в случае bash, printf поддерживает печать на переменную, и поэтому мы могли бы сделать printf -v num "%.2d" "$i" вместо использования подстановки команд.

2
задан 30 October 2011 в 01:08

0 ответов

Другие вопросы по тегам:

Похожие вопросы: