Saya mencoba mengekstrak waktu dari string menggunakan bash, dan saya kesulitan memahaminya.
String saya seperti ini:
US/Central - 10:26 PM (CST)
Dan saya ingin mengekstrak file 10:26
bagiannya.
Ada yang tahu cara melakukan ini hanya dengan bash - tanpa menggunakan sed, awk, dll?
Seperti, di PHP saya akan menggunakan - bukan cara terbaik, tetapi berhasil - sesuatu seperti:
preg_match( ""(\d{2}\:\d{2}) PM \(CST\)"", "US/Central - 10:26 PM (CST)", $matches );
Terima kasih atas bantuan apa pun, meskipun jawabannya menggunakan sed atau awk
sed
versinya tetapi ingin memperingatkan orang lain bahwased
tidak perlu menggunakan+
pengubah. Salah satu cara untuk menyiasatinya adalah dengan menggunakan{1, }
pengubah untuk mencocokkan satu atau lebih.sumber
-n
kemudian meminta pencetakan lagi/p
? Bukankah sama saja dengan menghilangkan-n
flag dan menghilangkan/p
perintah? Terima kasih.Teknik chop-chop yang cepat dan kotor, bebas regex, dengan kekokohan rendah
sumber
| read zone dash time apm zone
juga berfungsiJika string Anda
kemudian
akan melakukan pekerjaan itu.
sumber
cut -c14-18
tentu saja selama posisi karakter tidak berubah. yang seharusnya tidak terjadi jika Zona Waktu diperbaiki.