Как использовать сдвиг для смещения $ один

Ваш шаблон awk не удается, потому что слово «профиль» не запускает запись , [профиль делает ... делает ...

awk '/^\[profile/ {gsub(/]/,""); print $2}' test.txt
dev
prod

Другой подход будет загружать массив, используя разделение :

awk -F'[][]' '/profile/ {p=split($2,profiles," "); print profiles[2]}' test.txt
dev
prod
-1
21.01.2015, 05:10
3 ответа
for((i=2;i<=$#;i++)); do
    wc "${!i}"
done
3
28.01.2020, 05:06

Просто звон Shift С аргументом 1 И не забудьте цитировать «$ @» :

shift 1
wc "$@"
1
28.01.2020, 05:06

Сохраните первый аргумент в переменной, затем сдвиньте один раз:

arg1="$1"
shift
wc "$@" >"$arg1"
2
28.01.2020, 05:06

Теги

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