Используя содержание файла как командная строка arguements в Bash

Чтобы выйти из цикла each(), вы должны:

return false;

Чтобы ваша кнопка могла установить переменную при нажатии, чтобы каждый цикл проверял каждый проход, а затем возвращает false, когда переменная установлена.

http://api.jquery.com/each/

6
задан Jamie 4 November 2009 в 14:18
поделиться

5 ответов

параметр '-n' для xargs указывает, сколько аргументов использовать для каждой команды:

$ xargs -n2 < arglist echo cp

cp src/file1 dst/file1
cp src/file2 dst/file2
cp src/file3 dst/file3
8
ответ дан 9 December 2019 в 20:45
поделиться

Использование read (это предполагает, что любые пробелы в именах файлов в arglist экранируются):

while read src dst; do cp "$src" "$dst"; done < argslist

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

while read args; do cp $args; done < argslist
3
ответ дан 9 December 2019 в 20:45
поделиться

You can use pipe (|) :

cat file | echo

or input redirection (<)

cat < file

or xargs

xargs sh -c 'emacs "$@" < /dev/tty' emacs

Then you may use awk to get arguments:

cat file | awk '{ print $1; }'

Hope this helps..

1
ответ дан 9 December 2019 в 20:45
поделиться

, если ваша цель - просто скопировать эти файлы в список

$ awk '{cmd="cp "$0;system(cmd)}' file
0
ответ дан 9 December 2019 в 20:45
поделиться

Используйте для цикла с IFS (Внутренний разделитель полей), установленным на новая строка

OldIFS=$IFS # Save IFS
$IFS=$'\n' # Set IFS to new line
for EachLine in `cat arglist"`; do
Command="cp $Each"
`$Command`;
done
IFS=$OldIFS
0
ответ дан 9 December 2019 в 20:45
поделиться
Другие вопросы по тегам:

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