Bu sorunu çözmenin en hızlı ve en kolay yolları:
Yeni çizgi karakterini \n
boşlukla değiştirmek istediğimizde :
xargs < file
xargs
satır başına karakter sayısı ve birleştirilen tüm karakterlerin sayısı üzerinde kendi sınırları vardır, ancak bunları artırabiliriz. Ayrıntılar bu komutu çalıştırarak bulunabilir: xargs --show-limits
ve elbette kılavuzda:man xargs
Bir karakteri başka bir tam karakterle değiştirmek istediğimizde :
tr '\n' ' ' < file
Bir karakteri birden çok karakterle değiştirmek istediğimizde :
tr '\n' '~' < file | sed s/~/many_characters/g
İlk olarak, \n
tildes için yeni satır karakterlerini değiştiririz ~
(veya metinde bulunmayan başka bir benzersiz karakteri seçeriz ) ve sonra tilde karakterlerini başka herhangi bir karakterle ( many_characters
) değiştiririz ve bunu her tilde (bayrak g
) için yaparız .
sed
Bash'in onunla uğraşmaması için komut dosyanızı tek tırnak içine almanız gerekir (çünkü iki argümanlased s/\n/ /g
çağrılarsed
,s/n/
ve/g
); (2) Eğer çıktısını istediğiniz bericat file | grep pattern
olmayı giriş içinsed
değil, argümanlar içinsed
size ortadan kaldırmak gerekir,xargs
; ve (3) dosyaya gerek yokturcat
, çünkügrep
ikinci argüman olarak bir dosya adı alabilir. Yani, denemeliydingrep pattern file | sed 's/\n/ /g'
. (Bu durumda, yukarıdaki bağlantıda verilen nedenlerden dolayı işe