Bạn đã viết lên các trích dẫn và cú pháp của bạn. Để đặt dấu tách trường đầu vào, cách dễ nhất để thực hiện là với -F
tùy chọn trên dòng lệnh:
awk -F '[0-9]' '{ print $1 }'
hoặc là
awk -F '[[:digit:]]' '{ print $1 }'
Điều này sẽ sử dụng bất kỳ chữ số nào làm dấu tách trường đầu vào, và sau đó xuất trường đầu tiên từ mỗi dòng.
Các biểu thức [0-9]
và [[:digit:]]
không hoàn toàn giống nhau, tùy thuộc vào ngôn ngữ của bạn. Xem " Sự khác biệt giữa [0-9], [[: chữ số:]] và \ d ".
Người ta cũng có thể thiết lập FS
trong awk
chính chương trình. Điều này thường được thực hiện trong một BEGIN
khối vì nó là khởi tạo một lần:
awk 'BEGIN { FS = "[0-9]" } { print $1 }'
Lưu ý rằng các trích dẫn đơn không thể được sử dụng trong một chuỗi trích dẫn trong trình bao và các awk
chuỗi đó luôn sử dụng dấu ngoặc kép.