Saya memiliki file teks, berisi sesuatu seperti:
12,34 EUR
5,67 EUR
...
Ada satu spasi sebelum 'EUR' dan saya mengabaikan 0, XX EUR.
Saya mencoba:
grep '[1-9][0-9]*,[0-9]\{2\}\sEUR' => didn't match !
grep '[1-9][0-9]*,[0-9]\{2\} EUR' => worked !
grep '[1-9][0-9]*,[0-9]\{2\}\s*EUR' => worked !
grep '[1-9][0-9]*,[0-9]\{2\}\s[E]UR' => worked !
Bisakah seseorang menjelaskan kepada saya, tolong, mengapa saya tidak bisa menggunakan \s
tapi \s*
dan \s[E]
cocok?
OS: Ubuntu 10.04, grep v2.5
[:space:]
untuk mantan. seperti ini:cat file | grep "[[:space:]]"
\s
sama sekali. Saya akan mengatakan perilakunya "tidak ditentukan". Gunakan [: spasi:] sebagai gantinya, yang berfungsi seperti yang didokumentasikan di grep lama dan baru.