Я бегу эту команду:SED - "Filename too long" - есть ли способ пропустить эту ошибку?
cd /tmp;find/-maxdepth 2 -type f | xargs -0 sed -i 's/teststring1/finally/g'
Он обрабатывает до тех пор, пока не доходит до точки, где он сообщает об ошибке: слишком длинное имя файла. Выглядя в документы, похоже, что это когда имя файла длиннее 1024 байта. Во всяком случае, я думал, что использование печати 0 будет подавлять это, но нет. Есть ли команды пропускать ошибки, а не просто останавливаться?
Вы можете трубить на 'while read line' вместо xargs? Таким образом, он пропустит неудачные строки и продолжит работу с остальными. – cmbuckley
Я не мог правильно получить синтаксис, не могли бы вы показать мне команду в контексте моего помощника? – user1166981
Повторно введите эту команду вручную? 'Cd/tmp; find/'немного смешно, и в команде нет' -print0', несмотря на наличие '-0' в командной строке' xargs (1) '. Пожалуйста, не перегруппируйте команды или код, это делает отладки намного сложнее без уважительной причины. Скопируйте и вставьте, пожалуйста. :) – sarnold