В цикле for, подобном этому,
for i in `cat *.input`; do
echo "$i"
done
, если один из входных файлов содержит записи типа *a
, он будет и давать
имена файлов, оканчивающиеся на «а».
Есть ли простой способ предотвратить это расширение имени файла?
Из-за использования нескольких файлов глобализация (set -o noglob
) не является
хороший вариант. Я также должен быть в состоянии отфильтровать вывод cat
в
экранировать специальные символы, но
for i in `cat *.input | sed 's/*/\\*'`
...
все еще вызывает расширение *a
, тогда как
for i in `cat *.input | sed 's/*/\\\\*'`
...
дает мне \*a
(включая обратную косую черту). [Я думаю, это другое
вопрос хотя]