Tôi tạo ra một kịch bản đã được sử dụngthay thế cho cắt --output-delimiter
cut -d',' -f- --output-delimiter=$'\n'
để thêm một dòng mới cho mỗi lệnh giá trị tách ra trong RHEL 5, cho ví dụ
[root]# var="hi,hello how,are you,doing"
[root]# echo $var
hi,hello how,are you,doing
[root]# echo $var|cut -d',' -f- --output-delimiter=$'\n'
hi
hello how
are you
doing
Nhưng tiếc là khi tôi chạy lệnh tương tự trong Solaris 10, nó không hoạt động ở tất cả :(!
bash-3.00# var="hi,hello how,are you,doing"
bash-3.00# echo $var
hi,hello how,are you,doing
bash-3.00# echo $var|cut -d',' -f- --output-delimiter=$'\n'
cut: illegal option -- output-delimiter=
usage: cut -b list [-n] [filename ...]
cut -c list [filename ...]
cut -f list [-d delim] [-s] [filename]
Tôi đã kiểm tra man page của 'cắt' và than ôi không có '--output-delimiter' trong đó!
Vì vậy, làm thế nào để đạt được điều này trong Solaris 10 (bash)? tôi đoán awk sẽ là một giải pháp, nhưng tôi không thể đóng khung lập các tùy chọn thích hợp.
Lưu ý: Dấu phẩy các biến eparated có thể có không gian "" trong chúng.
Nếu bạn muốn lệnh cắt tương tự mà bạn có trên RHEL, hãy cài đặt gói [GNU coreutils] (https://www.gnu.org/software/coreutils/). – alanc