Saya ingin pola regex yang dapat mencetak semua baris yang tidak mengandung tanda baca:
Memasukkan :
.This is line 1
This is ! line 2
This is line (3)
This is line 4
Output: (harus)
This is line 4
Apa yang saya coba sejauh ini:
grep '[^[:punct:]]' file.txt
Tapi itu menunjukkan semua karakter yang bukan tanda baca.
grep
regular-expression
Hamed Kamrava
sumber
sumber
-v
sakelar?-v
?-v
hanya ingin tahu lebih banyak :)Sed sed Anda dapat melakukan sesuatu seperti:
sed '/[[:punct:]]/!d'
Dalam awk Anda dapat melakukan:
awk '!/[[:punct:]]/'
sumber
A
Perl
yang:Ini akan cocok dengan -! "# $% & '() * +,. / :; <=>? @ [\] ^ _` {|} ~ Yang unicode mempertimbangkan Punctutation dan Symbols.
atau:
\p{Punct}
hanya cocok -! "#% & '() *,. /:; @ @ [\] _ {} , tidak ada $ + <=> ^` | ~ yang unicode menganggap Simbol.perl
secara default gunakan lokal POSIX. Jika Anda tidak menggunakanperl
, Anda harus menyetel semuanyaLC_ALL=POSIX
, karena lokal yang berbeda dapat memiliki karakter tanda baca yang berbeda seperti yangSAA C
dimiliki¢
.sumber