Lệnh này có nghĩa là gì: awk -F: '{print $ 4}'?


Câu trả lời:


55
awk -F: '{print $4}'
  • awk- đây là trình thông dịch cho Ngôn ngữ lập trình AWK. Ngôn ngữ AWK rất hữu ích để thao tác với các tệp dữ liệu, truy xuất văn bản và xử lý
  • -F <value>- cho biết awksử dụng dấu phân cách trường nào. Trong trường hợp của bạn, -F:có nghĩa là dấu phân cách là :(dấu hai chấm).
  • '{print $4}'có nghĩa là in trường thứ tư (các trường được phân tách bằng :).

Thí dụ:

Hãy nói rằng có một tệp được gọi testvà nó chứa các mục sau:

Hello:my:name:is:Alaa

Nếu chúng ta thực thi lệnh awk -F: '{print $4}' test, đầu ra sẽ là:

is

islà lĩnh vực thứ tư.

      trường1 trường3 trường5
       ----- ---- ----
       | | | | | |
       Xin chào: của tôi: tên: là: Alaa
             | | | |
             - -
           trường2 trường4


9
  • Bạn đặt dấu phân cách trường bằng ...

    -F
    

    vì vậy đó là ":" trong ví dụ này.

  • Bạn in văn bản nằm giữa dải phân cách thứ 3 và thứ 4 với ...

    '{print $4}'
    
  • Và điều này giải thích nó tốt hơn:

    echo "154:266:377:454:533" | awk -F: '{print $4}'
    454
    

Điều gì xảy ra nếu tôi muốn 454 154:266:377:454:533in $ 4 và toàn bộ dòng cách nhau bởi khoảng trắng?
Yogesh Darji
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.