Saya punya file dengan konten berikut:
(((jfojfojeojfow
//
hellow_rld
(((jfojfojeojfow
//
hellow_rld
Bagaimana saya bisa mengekstrak setiap baris yang dimulai dengan tanda kurung?
grep
sed
regex
text-processing
pengguna3069326
sumber
sumber
Jawaban:
Simbol untuk awal garis adalah
^
. Jadi, untuk mencetak semua baris yang karakter pertamanya adalah(
, Anda ingin mencocokkan^(
:grep
sed
sumber
Menggunakan
perl
Keluaran:
Penjelasan (bagian regex)
/^\(/
^
menegaskan posisi pada awal string\(
cocok dengan karakter(
secara harfiahsumber
Ini
bash
satu liner:Di sini kita membaca setiap baris input dan jika baris dimulai dengan
(
, garis dicetak. Tes utama dilakukan oleh[[ $i =~ ^\( ]]
.Menggunakan
python
:Di sini
line.startswith('(')
memeriksa apakah garis dimulai dengan(
, jika demikian maka garis dicetak.sumber
awk
awk '/^\(/' testfile.txt
Hasil
Python
Sebagai python one-liner:
Atau sebagai alternatif:
Tampilan BSD
look
adalah salah satu utilitas Unix klasik tetapi sedikit diketahui, yang muncul jauh di AT&T Unix versi 7. Dariman look
:Hasil:
sumber
Anda dapat melakukan kebalikannya.
atau
sumber
Gunakan perintah grep untuk ini. Dengan asumsi file dengan konten yang disebutkan disebut t.txt:
Dengan '--color' sebagai argumen lebih lanjut Anda bahkan dapat melihat dalam warna di terminal apa yang cocok. Instruksi ini juga tidak cocok dengan baris kosong.
sumber
(
, tidak hanya yang dimulai dengan satu.