Tôi có một tập hợp các dữ liệu mà trông như thế nàytìm kiếm nhiều lạnh chuỗi với awk
col1 col2 col3 col4
ABC1 DEF1 GHI1 cond1
ABC2 DEF2 GHI2 cond1-cond2
ABC3 DEF3 GHI3 cond2/cond1
ABC4 DEF4 GHI4 cond2 cond1
ABC5 DEF5 GHI5 cond4/cond1
ABC6 DEF6 GHI6 cond1
ABC7 DEF7 GHI7 mcond1
ABC8 DEF8 GHI8 cond2
ABC9 DEF9 GHI9 cond1 at 50
ABCa DEFa GHIa con cond1
ABCb DEFb GHIb no. cond1
ABCc DEFc GHIc cond1 something
ABCc DEFc GHIc Mcond1
Tôi cố gắng để viết một vài lệnh để tách dữ liệu theo "col4" để có được:
Tệp có chứa chuỗi "cond1" với BẤT KTH NÀO trước hoặc sau TRỪ cho chữ "M" và "m". Tôi hiện đang sử dụng lệnh này (mà không loại trừ M và m, rõ ràng) cho việc này:
awk 'BEGIN{IGNORECASE=1} $4 ~ /.cond1/ || $4 ~ /cond1./ ' /filepath.tab
xin vui lòng cũng không phải là lần thứ 4, 9 và các hàng thứ 11 của dữ liệu chứa dấu cách giữa "cond1" và khác chuỗi, tôi muốn điều này BAO GỒM trong tệp. (Liên kết "" trong lệnh bao gồm không gian?)
Tôi đã viết một lệnh để có được một tập tin có chứa 'cond1' CHỈ trong 'col4'
awk 'BEGIN{IGNORECASE=1} $4 ~ /^cond1$/ ' /filepath.tab
nó đang làm việc tốt với hầu hết các của dữ liệu, mặc dù tôi đang nhận được những 2 lỗi trong các kết quả:
ABC9 DEF9 GHI9 cond1 at 50 ABCc DEFc GHIc cond1 something
bất cứ ai có thể vui lòng giúp tôi với những 2 lệnh? Cảm ơn.
Tôi đang tìm kiếm một sản phẩm của 3 file mà không chứa bất kỳ bản sao, sau đây là một ví dụ: File1 (chứa tất cả các kết hợp với cond1):
col1 col2 col3 col4
ABC2 DEF2 GHI2 cond1-cond2
ABC3 DEF3 GHI3 cond2/cond1
ABC4 DEF4 GHI4 cond2 cond1
ABC5 DEF5 GHI5 cond4/cond1
ABC9 DEF9 GHI9 cond1 at 50
ABCa DEFa GHIa con cond1
ABCb DEFb GHIb no. cond1
ABCc DEFc GHIc cond1 something
File2 (chứa cond1 một mình):
col1 col2 col3 col4
ABC1 DEF1 GHI1 cond1
ABC6 DEF6 GHI6 cond1
file3 (chứa bất cứ điều gì mà không được bao gồm trong file1 và file2):
col1 col2 col3 col4
ABC7 DEF7 GHI7 mcond1
ABC8 DEF8 GHI8 cond2
ABCc DEFc GHIc Mcond1
Lưu ý rằng tổng số hàng của 3 tệp giống với tệp gốc Tôi xin lỗi nếu điều này nghe khá phức tạp, nhưng đây là trường hợp tôi thực sự có.
là gì mong muốn của bạn đầu ra! –
Dấu phân cách giữa cột là gì? là nó tab? nếu không gian thứ 11 của hàng thứ 4 cột sẽ không chứa 'cond1'. Đó là cột thứ 5 có –
Có nó là một tệp được phân tách bằng tab và đôi khi có một khoảng trắng giữa các từ. (và tôi chắc chắn nó không phải là một cột khác nhau, bởi vì đây là một tập tin lớn và tôi sử dụng cắt để có những 4 cột ra chỉ) – Error404