GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Mengeluarkan File &Mengabaikan Baris Yang Dimulai Dengan "?"?

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.


Linux
  1. Bagaimana Cara Mengarahkan Output Program Ke File Zip??

  2. Bagaimana Cara Menghapus Beberapa Baris Acak Dari File Teks Menggunakan Sed?

  3. Cara memahami keluaran warna

  1. Bagaimana cara menulis file dengan C di Linux?

  2. Bagaimana cara menambahkan output ke file?

  3. Bagaimana cara meminta file tetapi tidak menyimpannya dengan Wget?

  1. Bagaimana cara mengarahkan output dari system() ke file?

  2. Cara menghapus \r karakter dengan sed

  3. Cara mengarahkan output dari layanan systemd ke file