Команды grep в Unix

Хотя она и называется программой удаленного копирования файлов, я думаю, что она предназначена для выполнения задач локального копирования наряду с удаленными потребностями. Это поведение было отражено в моей среде при тестировании.

Также стоит отметить, что при получении значения из переменной окружения $? после локального запуска наблюдался код возврата 0. Это указывает на то, что он вел себя так, как ожидалось, и не выдавал код ошибки.

К сожалению, я не уверен, что существует способ обойти это поведение по умолчанию. Использование другого инструмента может быть единственным вариантом.

2
01.08.2019, 17:59
1 ответ

Во-первых, я должен отметить, что ваши команды были вставлены в текстовый процессор. Обратите внимание, что кавычки в вашей команде являются «фигурными кавычками» и недействительны.

В остальном команды почти эквивалентны.

grep "^[^a-z]" foo

[^a-z]является регулярным выражением для «Соответствия одному символу , отсутствующему в списке». Таким образом, эта команда будет соответствовать любой строке в файле foo, которая не начинается со строчной буквы.


grep -v "^[a-z]" foo

[a-z]является регулярным выражением для «Сопоставление одного символа , присутствующего в списке», но параметр -vозначает «инвертировать -совпадение» (Выбранные строки не соответствуют ни одному из указанные узоры. ). Следовательно, это найдет любую строку в файле foo, которая не начинается со строчной буквы. Разница Эта команда также будет соответствовать пустым строкам.

4
27.01.2020, 21:58

Теги

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