Bash script untuk menghapus jeda baris?

9

Saya perlu skrip yang memasukkan file dan menggemakan isinya dengan linebreak dihapus - begitu kata dibungkus.

Saya sudah mencoba:

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

tapi itu tidak mengembalikan apa-apa.

southpointingchariot
sumber

Jawaban:

18

Coba lakukan ini:

echo $(cat $1)
gertvdijk
sumber
1
Senang saya bisa membantu Anda menemukan satu dari banyak cara untuk sampai ke sana, tetapi coba Googling sedikit lebih banyak waktu berikutnya. Ini adalah apa yang saya dapatkan sebagai hasil kedua bermunculan menggunakan kata kunci bash, line, end, remove.
gertvdijk
@gertvdijk tahun telah berlalu, dan pertanyaan ini adalah apa yang saya dapatkan sebagai hasil pertama yang muncul menggunakan kata kunci yang sama sekarang :)
Jorge Suárez de Lis
cara non-skrip / cmdline adalahecho `cat some_file.ext`
nmz787
7

Saya menemukan jawaban yang relevan ini di stackoverflow:

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

Cara tercepat tampaknya menggunakan tr:

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

atau untuk contoh Anda:

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

Untuk mempelajari lebih lanjut tentang trperintah, tentu saja man tr,.

The stackoverflow anser berisi cara untuk melakukan ini dengan sed (akan menjadi pilihan pertama saya, tetapi sed sangat berorientasi garis dan membuatnya tidak menafsirkan garis putus karena pembatas bidang itu misterius) dan cara menggunakan baca dan bash, dekat dengan Anda pendekatan awal.

roadmr
sumber