Tôi đã bị bối rối với vấn đề có vẻ đơn giản để khắc phục này .. tốt, trong một thời gian.
Đây là ví dụ đầu ra từ tệp tôi cần chỉnh sửa:
$cat file
George Washington
Geneva Convention
123,281,029 USD
342,019,929 EUR
Tôi cần xóa khoảng cách giữa "George Washington" và "Công ước Geneva", nhưng không phải khoảng cách giữa "123,281,029 USD" hoặc "342,019,929 EUR".
Về cơ bản, mục tiêu của tôi ở đây là chỉ xóa khoảng trắng giữa các từ trong một dòng CHỈ nếu không có số nào trong dòng đó.
Tôi đã cố chỉnh sửa tệp qua grep -v [0-9] $file | sed 's/ //'
, nhưng cách duy nhất sẽ hoạt động là nếu tôi xuất ra tệp khác, nhưng điều đó có nghĩa là loại trừ tất cả các dòng có số từ tệp cũ sang tệp mới, đó không phải là thứ tôi cần ..
Tôi đã thử một số vòng lặp khá lố bịch với grep và sed
dường như không có gì hoạt động tốt cả.
Một lần nữa, đây là đầu ra ví dụ của tệp:
$cat file
George Washington
Geneva Convention
123,281,029 USD
342,019,929 EUR
Đây là đầu ra mong muốn của tôi:
$cat file
GeorgeWashington
GenevaConvention
123,281,029 USD
342,019,929 EUR