Điểm:0

Chuyển đổi tệp đầu ra với các cột sau thành CSV loại bỏ các đường ống

lá cờ in

Đây là những gì tôi có trong tệp đầu ra của mình:

    v6_ntoa | v6_ntoa | id | client_syn_packets
---------- + ---------- + ---------- + ------ ---------------
 105.245.90.61 | 82.17.112.84 | 15426766476 | 1

Tôi muốn điều này được chuyển đổi thành tệp csv ở định dạng sau:

105.245.90.61,82.17.112.84,15426766476,1

Cần sự giúp đỡ của bạn (sed, awk hoặc bất kỳ cách nào khác). Tôi đã thử nhiều cách khác nhau nhưng không thể loại bỏ các đường ống và khoảng cách thích hợp.

lá cờ hr
Có phải chỉ có một dòng dữ liệu? Bạn có muốn giữ lại thông tin tiêu đề không?
lá cờ in
không phải giữ thông tin tiêu đề. vâng, đó là một dòng dữ liệu
lá cờ gi
bạn đã thử giải pháp của tôi chưa? https://askubuntu.com/a/1395720/796708
Điểm:1
lá cờ gi

sử dụng cối xay và đuôi, và chạy

<input.txt đuôi -n +3 | mlr --csv --ifs "|" -N khoảng trắng sạch

bạn có

105.245.90.61,82.17.112.84,15426766476,1

Một số lưu ý:

  • <input.txt đuôi -n +3 chỉ xuất bản ghi bạn muốn
  • --ifs "|", để đặt dấu tách trường
  • -N để đặt đầu vào và đầu ra không có tiêu đề
  • khoảng trắng sạch để làm sạch khoảng trắng
Điểm:0
lá cờ hr

Có lẽ là đơn giản nhất:

$ sed -n '3s/ *| */,/gp' tập tin
 195.245.90.61,62.17.112.84,15426766476,1

(tuy nhiên, lưu ý rằng điều này để lại một khoảng trắng ở đầu; bạn có thể thêm một sự thay thế khác để xóa khoảng trắng đó nếu đó là một vấn đề).

Nếu bạn muốn thú vị hơn, hãy sử dụng GNU awk và xác định một trường là bất kỳ chuỗi ký tự không phải dấu cách hoặc thanh nào:

$ gawk 'BEGIN{FPAT="[^ |]+"; OFS=","} NR==3{$1=$1; in lại file này
195.245.90.61,62.17.112.84,15426766476,1

hoặc để bảo tồn các tiêu đề

$ gawk 'BEGIN{FPAT="[^ |]+"; OFS=","} NR%2{$1=$1; in lại file này
v6_ntoa,v6_ntoa,id,client_syn_packets
195.245.90.61,62.17.112.84,15426766476,1

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.