Tôi muốn chọn ra một số dòng nhất định có chứa một số nhất định từ một tập tin. Các tập tin tôi muốn tìm kiếm được gọi là os_clusters/piRNA_clusters.bed
.
awk '{if (a[$0]++ == 0) {split($0,b,"."); ;split(b[1],c,"r"); print c[3]}};' test_non_enriched | xargs grep {} os_clusters/piRNA_clusters.bed
Phần đầu tiên, trước đường ống, hoạt động - nó tạo ra các thuật ngữ để tìm kiếm, chẳng hạn như 8707, 8824, v.v. Tuy nhiên, phần sau thì không.
awk '' ... | xargs grep {} os_clusters/piRNA_clusters.bed
Thay vì tìm kiếm tệp mục tiêu cho các thuật ngữ do đường ống tạo ra, nó coi các thuật ngữ tìm kiếm là tệp đầu vào. Do đó, tôi nhận được thông báo lỗi như:
grep: 8707: No such file or directory
grep: 8824: No such file or directory
Tôi cần thay đổi gì để tìm kiếm tệp os_clusters/piRNA_clusters.bed
cho các thuật ngữ do đường ống tạo ra?