Sự khác biệt giữa print và printf trong awk là gì?


7

Trong awksự khác biệt giữa printvà là printfgì?

Có hạn chế nào chỉ sử dụng printthay vì printfvà ngược lại


1
Có thực sự quá khó để đọc hướng dẫn cho một cái gì đó như thế này?
jasonwryan 6/11/2015

1
@jasonwryan Đồng ý- Nhưng nếu tôi liên tục hỏi về thứ gì đó có sẵn trong hướng dẫn, nhận xét của bạn sẽ hữu ích hơn. Nhưng đó là bài viết đầu tiên của tôi. Tôi đã có hành vi rất kỳ quặc từ người kỹ thuật âm thanh =)
Ravan

Ravan, trên bối cảnh U & L được đánh giá cao. Chẳng hạn như: Tôi đang học, đã thấy cái này, đã thử cái này, cái này đã xảy ra, tôi muốn làm cái này, tại sao, và làm thế nào? Ví dụ làm việc để minh họa là tuyệt vời! Có hàng trăm quan điểm về một câu hỏi như của bạn - một bối cảnh nhỏ để có hướng và khởi động một câu trả lời thực sự hữu ích. Bất cứ điều gì làm cho bạn tự hỏi sẽ là tốt để biết. Tôi thấy bạn là thành viên hàng đầu trên AskUbfox, chào mừng bạn đến với U & L. Tôi muốn nói một cách để nghĩ về sự khác biệt là Ubuntu là một sản phẩm, Unix là triết lý.
RobertL

@jasonwryan Mình cũng nghĩ câu hỏi quá chung chung. Nhưng tôi thấy quan điểm của Ravan. Làm thế nào về: "Hầu hết những gì bạn yêu cầu được bao phủ trong awktrang web." Chúng ta có thể đánh giá những gì có thể khó khăn hoặc dễ dàng cho người khác?
RobertL

@RobertL xem chuột trên văn bản cho một downvote: "Câu hỏi này không cho thấy bất kỳ nỗ lực nghiên cứu nào ..."
jasonwryan 6/11/2015

Câu trả lời:


7

Như GNU awk (hướng dẫn gawk nói) tại http://www.gnu.org/software/gawk/manual/gawk.html#Printing

Sử dụng câu lệnh in để tạo đầu ra với định dạng đơn giản, chuẩn hóa. Bạn chỉ định các chuỗi hoặc số để in, trong một danh sách được phân tách bằng dấu phẩy. Chúng là đầu ra, được phân tách bằng các khoảng trắng đơn, theo sau là một dòng mới.

& Vân vân.

Để kiểm soát chính xác hơn định dạng đầu ra so với những gì được cung cấp bởi in, hãy sử dụng printf. Với printf, bạn có thể chỉ định chiều rộng sẽ sử dụng cho từng mục, cũng như các lựa chọn định dạng khác nhau cho các số (chẳng hạn như sử dụng cơ sở đầu ra nào, có in số mũ hay không, có in dấu và bao nhiêu chữ số để in sau dấu thập phân).

Vì vậy, điều này khá nhiều giải thích sự khác biệt và hạn chế.


2
câu trả lời tốt nhưng ví dụ về print và printf sẽ tốt hơn
HattrickNZ

4

in :

  • "In" bằng cách tự in dòng đầu vào.
  • "In" với một đối số sẽ in đối số.
  • "In" với nhiều đối số sẽ in tất cả các đối số, được phân tách bằng dấu cách (hoặc OFS được chỉ định khác) khi các đối số được phân tách bằng dấu phẩy hoặc được nối khi các đối số được phân tách bằng dấu cách.

printf :

Hàm "printf ()" (in định dạng) linh hoạt hơn nhiều và phức tạp hơn. Nó có cú pháp:

 printf(<string>,<expression list>)

Sự khác biệt :

Sự khác biệt giữa printf và print là đối số định dạng. Đây là một biểu thức có giá trị được lấy dưới dạng chuỗi; nó chỉ định cách xuất ra từng đối số khác. Nó được gọi là chuỗi định dạng.

Tài liệu tham khảo tại đâyđây

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.