Intereting Posts
Live Linux CD / DVD с клиентом Bittorrent, Java, Flash, VLC? Есть ли способ начать всегда как корень? Как перенести виртуальную машину IDE в виртуальную виртуальную машину? Получение визуальной обратной связи переключателя рабочего пространства в KDE Установите привязки в i3 для управления подсветкой клавиатуры Что делает опция x для sed действительно при обмене данными между удержанием и буфером шаблонов? vi для нового окна Регистратор данных с PI Что делает ядро-клин? SLiM автолог не прав wm LFS 7.5 – Ошибки компиляции Glibc-2.19 в разделе 6.9, являются ли они фатальными для моей сборки LFS? Как эффективно использовать сценарии bash (разные затраты на восстановление и хорошие привычки)? Как я могу увидеть весь файл, а также дождаться добавления большего количества данных в этот файл? Как удалить формат даты Терминальный эмулятор падает с функцией с помощью вложенных операторов case?

Как выводить файл и игнорировать строки, начинающиеся с «?»?

Я делаю svn status --show-updates а затем я хочу либо

  • Q1: игнорировать (не отображать) строки, которые начинаются с ?
  • Q2: отображать только строки, начинающиеся с * Обратите внимание, что перед * существует несколько пробелов. Это означает, что * не является первым символом на линии.

Как я могу это сделать?

Вы можете выразить эти условия с использованием регулярных выражений и использовать grep для фильтрации результатов на основе этих.

Первый – ^? , Карат – это особый символ, который представляет начало линии; так что выражение соответствует началу строки, за которой следует a ? ,

Второй – ^ *\* . * – специальный символ, который квалифицирует предыдущий символ – это означает, что предыдущий символ может появляться в ноль или более раз. Поскольку * – специальный символ, тот, который вы ищете, должен быть экранирован, следовательно, \* . Таким образом, это выражение будет соответствовать началу строки, за которой следует ноль или больше пробелов, а затем звездочка.

Для вашего первого условия используйте параметр -v для grep для отрицания результатов.

Итак, наконец,

 svn status --show-updates | grep -v '^?' 

или

 svn status --show-updates | grep '^ *\*' 

Регулярные выражения очень мощные, поэтому многие инструменты Unix могут их использовать. Они очень ценятся. На regular-expressions.info есть отличный учебник.

Q1: Простой способ заключается в следующем:

 svn st --show-updates -q 

st – аббревиатура для статуса и -q для тишины: это исключает файлы, которые еще не добавлены в репозиторий.

Q2: если вы не назвали свои файлы с помощью *, вы также можете сделать это:

 svn status --show_updates|grep -v \*