Pertanyaan Bagaimana cara menghapus baris baru dari file teks?


Saya memiliki data berikut, dan saya harus memasukkannya ke dalam satu baris.

Aku punya ini:

22791

;

14336

;

22821

;

34653

;

21491

;

25522

;

33238

;

Saya perlu ini:

22791;14336;22821;34653;21491;25522;33238;

EDIT

Tidak ada dari perintah ini berfungsi dengan sempurna.

Sebagian besar dari mereka membiarkan data seperti ini:

22791

;14336

;22821

;34653

;21491

;25522

75
2018-06-28 17:46


asal


Jawaban:


tr -d '\n' < yourfile.txt

Edit:

Jika tidak ada perintah yang dipasang di sini berfungsi, Anda memiliki sesuatu selain baris baru yang memisahkan bidang Anda. Mungkin Anda memiliki akhiran baris DOS / Windows dalam file (meskipun saya akan mengharapkan solusi Perl untuk bekerja bahkan dalam kasus itu)?

Mencoba:

tr -d "\n\r" < yourfile.txt

Jika itu tidak berhasil maka Anda harus memeriksa file Anda lebih dekat (misalnya dalam editor hex) untuk mencari tahu karakter apa yang sebenarnya ada di sana yang ingin Anda hapus.


158
2018-06-28 17:51



perl -p -i -e 's/\R//g;' filename

Harus melakukan pekerjaan itu.


7
2018-06-28 19:00



paste -sd "" file.txt

6
2018-06-28 17:56



tr -d '\n' < file.txt

Atau

awk '{ printf "%s", $0 }' file.txt

Atau

sed ':a;N;$!ba;s/\n//g' file.txt

Halaman ini sini memiliki banyak metode lain untuk menghapus baris baru.

diedit untuk menghapus penyalahgunaan kucing :)


4
2018-06-28 17:51



menggunakan

head -n 1 filename | od -c 

untuk mencari APA karakter yang menyinggung. kemudian gunakan

tr -d '\n' <filename

untuk LF

tr -d '\r\n' <filename

untuk CRLF


3
2017-12-08 18:58



Anda dapat mengedit file dalam vim:

$ vim inputfile
:%s/\n//g

3
2017-10-03 05:12



Jika datanya ada di file.txt, maka:

echo $(<file.txt) | tr -d ' '

'$(<file.txt)'Membaca file dan memberikan isinya sebagai rangkaian kata-kata yang' echo 'kemudian bergema dengan spasi di antara mereka. Perintah 'tr' kemudian menghapus spasi apa pun:

22791;14336;22821;34653;21491;25522;33238;

1
2018-06-28 18:19



Menggunakan man 1 ed:

# cf. http://wiki.bash-hackers.org/doku.php?id=howto:edit-ed 
ed -s file <<< $'1,$j\n,p'  # print to stdout 
ed -s file <<< $'1,$j\nwq'  # in-place edit

1
2018-06-28 18:42