Я хотел бы выполнить команду, давайте назовем ее abc и добавим в качестве параметра каждое имя файла в текущей папке. Как я мог сделать это в C Shell (или другом языке сценариев)?
2 ответа
1
Используя csh
или tcsh
, он будет перебирать все файлы и каталоги в текущем каталоге. Я использовал кавычки вокруг подстановки переменных $i
на случай, если в некоторых именах есть пробелы.
foreach i (*)
abc "$i"
end
Если вы хотите получить только файлы, а не каталоги, используйте тест -f
. Здесь я использовал сокращенное выражение if
оболочки C.
foreach i (*)
if (-f "$i") abc "$i"
end
0
Посмотри на Xargs. Если ваша оболочка похожа на мою, следующее должно хорошо работать:
find . -type f -maxdepth 1 | xargs abc
Если вас беспокоят пробелы в именах файлов, см. Комментарий Дэниела Андерссона ниже.