svn status --show-updates
を実行します それから私はどちらかをしたい
- Q1:
?
で始まる行を無視します(表示しません)。 - Q2:
*
で始まる行のみを表示します *が発生する前にスペースがほとんどないことに注意してください。つまり、*
行の最初の文字ではありません。
どうすればそれができますか?
承認された回答:
これらの条件は正規表現を使用して表現し、grep
を使用できます。 それらに基づいて結果をフィルタリングします。
最初のものは^?
です 。カラットは、行の先頭を表す特殊文字です。式が行の先頭と一致し、直後に?
が続くようにします。 。
2つ目は^ *\*
です 。 *
は、前の文字を修飾する特殊文字です。これは、前の文字が0回以上出現する可能性があることを意味します。 *
以降 は特殊文字です。探している文字はエスケープする必要があるため、\*
。そのため、式は行の先頭に一致し、その後に0個以上のスペースが続き、その後にアスタリスクが続きます。
最初の条件として、-v
を使用します grep
のオプション 結果を否定します。
最後に、
svn status --show-updates | grep -v '^?'
または
svn status --show-updates | grep '^ *\*'
正規表現は非常に強力であるため、多くのUnixツールで使用できます。それらは学ぶ価値があります。 regular-expressions.infoにすばらしいチュートリアルがあります。