Apakah ada perintah Bash untuk mengonversi \ r \ n ke \ n?
Ketika saya mengunggah skrip saya dari Windows ke Linux, saya memerlukan utilitas seperti ini untuk membuat semuanya berfungsi.
linux
bash
newlines
carriage-return
pengguna25321
sumber
sumber
dos2unix
biasanya tersedia, jika tidaksed -e 's/\r$//'
dos2unix
yang merupakan program Unix / Linux untuk melakukan apa yang Anda inginkan.Jawaban:
Ada:
sumber
Terjemahan ( tr ) tersedia di semua Unix:
sumber
\r
juga. Mereka sangat jarang.Dengan sed dan temukan yang diakhiri dengan
.txt, .php, .js, .css
:sumber
Ada utilitas Unix yang disebut
conv
yang dapat mengkonversi akhir baris. Hal ini sering dipanggil dengan softlinks untuku2d
ataud2u
atauunix2dos
ataudos2unix
.Selain itu ada utilitas yang dipanggil
fromdos
dantodos
.sumber
Menggunakan man 1 ed (yang mengedit file di tempat tanpa cadangan sebelumnya - tidak seperti: sed .. -i ".bak" ...):
sumber
Melakukan ini dengan POSIX itu rumit:
POSIX Sed tidak mendukung
\r
atau\15
. Bahkan jika itu terjadi, opsi di tempat-i
bukanlah POSIXPOSIX Awk mendukung
\r
dan\15
, bagaimanapun,-i inplace
pilihannya bukan POSIXd2u dan dos2unix bukan utilitas POSIX , tetapi ex adalah
POSIX ex tidak mendukung
\r
,\15
,\n
atau\12
Untuk menghapus pengembalian carriage:
Untuk menambahkan carriage return:
sumber
Ya, gunakan
dos2unix
. Sebagai contoh:sumber
(Masing-masing juga ada untuk sistem non-Ubuntu, tetapi tautan ini berguna.)
sumber