Tôi đang cố gắng tách một tệp lớn dựa trên mẫu. Tôi đang sử dụng lệnh awk cho việc này. Sau khi tạo một số tệp nhất định, nó cung cấp lỗi: Quá nhiều tệp đang mở.Lệnh awk của lệnh shell Linux quá nhiều tệp đang mở
lệnh là:
awk '/pattern here/{i++}{print > "file"i}' /input file
Ai đó có thể cho tôi biết làm thế nào để đóng những tập tin này? Tôi đã thử sau nhưng nó cho lỗi.
awk '/pattern here/{i++}{print > "file"i}' /input file | close("file"i)
Cảm ơn bạn.
Bạn cần phải chạy 'close' ** trong ** awk không ở trong một đường ống trên đầu ra. Ngoài ra, bạn có thể muốn nhìn vào 'csplit' để thay thế. –
Có thể trùng lặp [Chia tệp rất lớn thành các tệp nhỏ theo mẫu (bash)] (http://stackoverflow.com/questions/32228798/divide-very-large-file-into-small-ones-following-pattern-bash) –