Почему не делает моего цикла по выводу работы ls?

Я придумал это для ПРОСТО числа:

wc -w [file] | cut -d' ' -f1

5

Я также как wc -w < [file] подход

Наконец, для хранения просто подсчета слов в переменной, Вы могли использовать следующее:

myVar=($(wc -w /path/to/file))

Это позволяет Вам пропустить имя файла изящно.

5
10.05.2014, 22:29
2 ответа
[12174]По возможности избегать разбора вывода (или, по крайней мере, части имени файла) [119160]ls[119161] в скриптах оболочек.[12175]Это всегда будет давать проблемы с разбиением слов, когда имена файлов содержат пробелы. [12176]Если вы хотите выполнить итерацию по каталогам, вы можете сделать это с помощью простого shell глобуса, т.е.[12177]Команда [118872]ls[118873] должна использоваться только для отображения в терминале списков каталогов в удобочитаемом виде. [118391]
15
27.01.2020, 20:32

Используя предложение @ mikserv , вы можете сделать

cd /Test/TopDir/
set -- "$PWD" */
cd /somewhere/else
td=$1 ; shift 
for x; do
  echo x="${td}/$x"
done
2
27.01.2020, 20:32

Теги

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