Saya melakukan svn status --show-updates
dan kemudian saya ingin
- Q1:
abaikan (untuk tidak menampilkan) baris yang dimulai dengan?
- Q2:
hanya menampilkan baris yang dimulai dengan*
Perhatikan bahwa ada beberapa spasi sebelum * muncul. Artinya*
bukan karakter pertama di baris.
Bagaimana saya bisa melakukannya?
Jawaban yang Diterima:
Anda dapat mengekspresikan kondisi tersebut menggunakan ekspresi reguler dan menggunakan grep
untuk memfilter hasil berdasarkan itu.
Yang pertama adalah ^?
. Karat adalah karakter khusus yang mewakili awal garis; sehingga ekspresi cocok dengan awal baris segera diikuti oleh ?
.
Yang kedua adalah ^ *\*
. *
adalah karakter khusus yang memenuhi syarat karakter sebelumnya – artinya karakter sebelumnya mungkin muncul nol kali atau lebih. Sejak *
adalah karakter khusus, yang Anda cari perlu diloloskan, oleh karena itu, \*
. Sehingga ekspresi tersebut akan cocok dengan awal baris yang diikuti oleh nol spasi atau lebih, diikuti dengan tanda bintang.
Untuk kondisi pertama Anda, gunakan -v
opsi untuk grep
untuk meniadakan hasil.
Jadi akhirnya,
svn status --show-updates | grep -v '^?'
atau
svn status --show-updates | grep '^ *\*'
Ekspresi reguler sangat kuat, sehingga banyak alat Unix dapat menggunakannya. Mereka sangat berharga untuk dipelajari. Ada tutorial yang bagus di regular-expressions.info.