Sử dụng printf
, người ta có thể in một nhân vật nhiều lần:Làm thế nào để sử dụng printf để in một nhân vật nhiều lần?
Trong awk
Tôi biết rằng tôi có thể làm something like:
$ awk 'BEGIN {while (i++ < 5) printf "-"}'
-----
Nhưng tôi tự hỏi, nếu awk's printf
phép này là tốt.
Tôi đã xem qua trang printf
modifiers nhưng không thể tìm thấy cách thực hiện. Tất cả trong tất cả, những gì printf từ Bash làm là để mở rộng {1..5}
và in -
cho mỗi tham số nó được, vì vậy nó tương đương với nói
$ printf "%0.s-" hello how are you 42
-----
Tuy nhiên, tôi thiếu kiến thức về làm thế nào để bắt chước hành vi này với printf awk, nếu có thể, bởi vì đây không:
$ awk 'BEGIN {printf "%0.s-", 1 2 3 4 5}'
-
Mmmm, Perl có thể làm điều đó quá ... 'perl -e "in '5'x60" ':-) –
@MarkSetchell' awk 'không phải là thông minh:/Không phải' in 'a' * 3' cũng không phải 'in' một tác phẩm "x 3'. – fedorqui