Ok, vì đây là một câu hỏi phức tạp, tôi sẽ giải thích rõ ràng. Tôi có một nội dung tập tin như dưới đây:
$ Cat File1
ABC Cool Lol POP {MNB}
ABC Cool Lol POP {MNB}
ABC Cool Lol POP {MNB}
ABC Cool Lol POP {TBMKF}
ABC Cool Lol POP {YUKER}
ABC Cool Lol POP {EFEFVD}
Đầu ra mà tôi muốn
-Cool MNB + POP ;
-Cool MNB + POP ;
-Cool MNB + POP ;
-Cool TBMKF + POP ;
-Cool YUKER + POP ;
-Cool EFEFVD +POP ;
Đầu tiên tôi cố gắng lấy ra cột cuối cùng từ File1
và in ra
sed 's/[{}//g' File1 > File3
Sau đó tôi sao chép toàn bộ nội dung File1
sang một cái mớiFile4
cp File1 File4
Sau đó, tôi thay thế dữ liệu bên trong File4
bằng File3
dữ liệu (có nghĩa là dữ liệu không có khung một " File1
cột cuối cùng đó")
awk 'FNR==NR{a[NR]=$1;next}{$5=a[FNR]}1' File3 File4 >>File5
Đầu ra nên như thế này
ABC Cool Lol POP MNB
ABC Cool Lol POP MNB
ABC Cool Lol POP MNB
ABC Cool Lol POP TBMKF
ABC Cool Lol POP YUKER
ABC Cool Lol POP EFEFVD
Cuối cùng, tôi cố gắng
awk -F“ " '{print - $2,$5 +,$4 ";"}‘ File5
Nhưng kết quả đã không diễn ra như tôi muốn, chỉ có dữ liệu tương tự MNB được liệt kê xuống, những người khác không hiển thị (Tệp một dữ liệu cột cuối cùng),
awk --version
, kết quả là gì?