Hai, saya mencoba membuat grep abaikan baris dengan karakter khusus tertentu $(

Memasukkan:

/XGenerator.mk:98:LOCAL_MODULE := filesxml.sh
/XGenerator.mk:106:LOCAL_MODULE := doublefiles.sh
/LibParameter.mk:35:LOCAL_MODULE := libparameter$(SUFFIX)
/LibUtility.mk:35:LOCAL_MODULE := libpfw_utility$(SUFFIX)

Keluaran yang diharapkan:

/XGenerator.mk:98:LOCAL_MODULE := filesxml.sh
/XGenerator.mk:106:LOCAL_MODULE := doublefiles.sh

Percobaan saya1

grep -Rin "LOCAL_MODULE :=" --include="*.mk" | grep -v '$('

Tidak bekerja

Percobaan saya2

grep -Rin "LOCAL_MODULE :=" --include="*.mk" | grep -v '/$/('

Tidak bekerja

Tolong ada yang bisa bantu?

0
Dinesh Ravi 19 November 2020, 18:15

1 menjawab

Jawaban Terbaik

Anda harus menggunakan logika ATAU dalam perintah grep Anda

grep -Rin "LOCAL_MODULE :=" --include="*.mk" | grep -v '\$\|('

Penjelasan:
Bendera -v mengecualikan garis yang cocok dengan pola, seperti yang sudah Anda ketahui. Karakter $ perlu diloloskan, serta karakter khusus OR |.

1
Dharman 19 November 2020, 17:30