Tôi có hai danh sách có độ dài bằng nhau, không có khoảng trống trong các mục riêng:iterating trên hai danh sách song song trong/bin/sh
list1="a b c"
list2="1 2 3"
Tôi muốn để lặp qua hai danh sách này song song, ghép nối một với 1, b với 2, v.v.:
a 1
b 2
c 3
Tôi đang cố gắng hỗ trợ vỏ Bourne di động hiện đại, vì vậy mảng Bash/ksh không khả dụng. Shelling ra để awk sẽ được chấp nhận trong một pinch, nhưng tôi muốn giữ điều này trong sh tinh khiết nếu có thể.
Cảm ơn bạn về bất kỳ con trỏ nào bạn có thể cung cấp!
FWIW tính năng này không hoạt động trong/bin/sh trên máy chủ solaris. nó bị mắc kẹt trong một vòng lặp vô tận lặp đi lặp lại "1 a" – jj33
Ồ, người hỏi đã chấp nhận vì vậy tôi đoán nó hoạt động cho anh ta. Tôi không có máy chủ Solaris. Nếu bạn thêm một bình luận với sửa chữa (nó sẽ là một cái gì đó trong sed rexgep) Tôi sẽ thêm nó, nhưng cho đến khi đó tôi sẽ để lại câu trả lời như là viết tắt. –
Nhận xét về câu trả lời được chấp nhận, nó không hoạt động đối với tôi trong linux hoặc Solaris, vấn đề là phím tắt lớp ký tự \ S trong regexp cho sed. Tôi thay thế nó bằng [^] và nó hoạt động – jj33