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にすばらしいチュートリアルがあります。