Я не нахожу отчет об ошибках связанным с этим и следующими строками в исходном файле wc.c
case '\t':
linepos += 8 - (linepos % 8);
кажется, сознательно принимаю решение вести себя таким образом, вероятно, для предоставления подсказки для ширины должно было отобразить файл на экране.
Быстрая альтернатива могла быть
echo -n $'\t' | tr '\t' ' ' | wc -L
Используйте -exec
опция для find
как это:
find . -maxdepth 1 -name "*.bitbucket" -exec hg pull --update --repository {} \;
{}
заменяется результатом находки и \;
разделитель указывает, что они должны быть выполнены по одному. A +
заставил бы набор их быть представленным в виде строки вместе как аргументы.
find . -maxdepth 1 -name "*.bitbucket" -execdir hg pull --update --repository {} +
обработает несколько файлов параллельно. Не каждая находка могла бы иметь-execdir; гну/находить предлагает использовать его для предотвращения ошибок.
Ответ @Caleb хорош. Или можно сделать это с xargs
.
Если Вы хотите сделать, hg вещь для каждого находит результаты, (как @Caleb указал),
find . -depth 1 -name "*.bitbucket" | xargs -n1 hg pull --update --repository
Если Вы хотите накопиться, все находят результаты в одну команду, удаляют -n1
.
Кроме того, быть осторожным относительно -depth
. Эта опция не использует аргумента. Я думаю, что Вы имеете в виду -maxdepth
.
xargs
может использоваться для выполнения вещей один за другим с помощью -n1
как аргумент. Настоящая проблема с xargs
вот то, как это обрабатывает аргументы заключения в кавычки. Это может быть кошмар для разбираний в нем, где использование find … -exec … {}
просто заботится о нем.
– Caleb
03.06.2011, 19:04
-n1
опция. Однако я не понимаю Вашу точку о заключении в кавычки аргументов. Если Вы волнуетесь о пробелах в именах файлов, --delimiter "\n"
может использоваться.
– MetroWind
03.06.2011, 19:18
\{\}
думая это вызвало бы расширение удара. Почему удар не расширяется{}
в этом случае? – Deepak Mittal 03.06.2011, 23:31