Satır sonlarını kaldırmak için Bash betiği?


9

Ben bir dosya girer ve linebreaks kaldırıldı ile içeriğini echos bir komut dosyası gerekir - "kelime sarılmış" böylece konuşmak.

Denedim:

#!/bin/bash
find $HOME '$1' | while read line; do echo "${line}"; done

ama hiçbir şey döndürmez.

Yanıtlar:


18

Bunu yapmayı deneyin:

echo $(cat $1)

1
Oraya ulaşmanın pek çok yolunu bulmanıza yardımcı olabildiğime sevindim, ancak bir dahaki sefere Googling'i biraz daha deneyin. Bu ikinci sonuç anahtar kelimeleri kullanarak gelmeyip olarak ne var yani bash, line, end, remove.
gertvdijk

@gertvdijk yıl geçti ve bu soru şimdi benzer anahtar kelimeler kullanarak haşhaş ilk sonuç olarak aldım :)
Jorge Suárez de Lis

komut dosyası olmayan / cmdline yoluecho `cat some_file.ext`
nmz787

7

Stackoverflow bu ilgili cevabı buldum:

/programming/1251999/sed-how-can-i-replace-a-newline-n

En hızlı yol tr kullanıyor gibi görünüyor:

tr '\n' ' ' </your/file

veya örneğin:

cat `find $HOME '$1"` | tr '\n' ' '

trKomut hakkında daha fazla bilgi edinmek için elbette man tr.

Stackoverflow anser, sed ile bunu yapmanın yollarını içerir (ilk seçimim olurdu, ancak sed çok satır yönelimlidir ve alan sınırlayıcıları gizemli olduğu için satır sonlarını yorumlamamasını sağlar) ve okuma ve bash'ı kullanarak, başlangıç ​​yaklaşımı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.