Làm cách nào để xóa một dấu phẩy dấu trong bash:
a,b,c,d,,,,
1,2,3,,,,
Kết quả mong muốn:
a,b,c,d
1,2,3
Đã thử làm điều này:
grep "5628" test.csv | sed 's/,*$//g'
nhưng nó không hoạt động. Các tập tin ban đầu đến từ một máy Windows.
2
Bạn có chắc là nó không hoạt động? Bạn đã chạy lệnh gì đầy đủ?
—
cuonglm
Tích cực. Nó đã không.
—
user2980702
Bạn có thể cung cấp lệnh chính xác của mình không, làm ơn (
—
roaima
sedbạn đã hiển thị mà không có tên tệp đóng vai trò là bộ lọc và không xử lý tệp tại chỗ )
grep "5628" test.csv | sed 's /, * $ // g'
—
user2980702
Nếu bạn cần sử dụng tệp trong * nix và bạn không cần phải sao chép lại vào Windows, về lâu dài có thể chuyển đổi các kết thúc dòng từ CR / LF sang NL bằng
—
G-Man nói 'Phục hồi Monica'
dos2unixhoặc tương tự .