2013-08-15 2 views
0

Я использую tcsh. Я хочу вывести:Использование цикла с xargs в одной строке

mkdir dir1 dir2 dir3 dir4 

Где, конечно, максимальное количество каналов является переменной. Дело в том, что они содержат инкрементную переменную из цикла в своих именах. У меня есть чувство, что я должен использовать xargs. Я просто хочу иметь возможность использовать простой цикл и делать все это в одной строке, если это возможно. Это возможно? Я чувствую, что это будет что-то вроде:

loop here | xargs mkdir 

, но я просто не могу заставить работать синтаксис.

Редактировать: Я понял, как это сделать с несколькими строками ввода. Кто-нибудь знает, как сделать следующее в однострочный ввод?

for i in {1..5} 
do 
echo -n " dir$i" 
done \ 
| xargs mkdir 

ответ

0

Код:

foreach a (`seq 1 1 10`) 
    mkdir dir$a 
end 

или

seq -f 'dir%.0f' -s ' ' 1 1 10 | xargs mkdir 
+0

Я получаю эту ошибку: строка 1: ошибка синтаксиса около неожиданной лексемы '(» Кроме того, не что просто сделать несколько выходов «Мне нужен один mkdir и несколько аргументов. – user2686410

+0

у вас есть seq от coreutils? –

+0

Я делаю, да. Ваш однострочный файл работает, но ваш код цикла не работает. – user2686410

Смежные вопросы