“Ganti garis baru menggunakan Bash Sed Linux” Kode Jawaban

Ganti garis baru menggunakan Bash Sed Linux

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

:a create a label 'a'
N append the next line to the pattern space
$! if not the last line, ba branch (go to) label 'a'
s substitute, /\n/ regex for new line, / / by a space, /g global match (as many times as it can)
DreamCoder

Ganti garis baru menggunakan Bash Sed Linux

# sed is intended to be used on line-based input. Although it can do what you need.
#A better option here is to use the tr command as follows:
tr '\n' ' ' < input_filename

#or remove the newline characters entirely:
tr -d '\n' < input.txt > output.txt

#or if you have the GNU version (with its long options)
tr --delete '\n' < input.txt > output.txt
DreamCoder

Ganti garis baru menggunakan Bash Sed Linux

#All alternatives, unlike sed will not need to reach the last line to begin the process

#with bash, slow
while read line; do printf "%s" "$line "; done < file

#with perl, sed-like speed
perl -p -e 's/\n/ /' file

#with tr, faster than sed, can replace by one character only
tr '\n' ' ' < file

#with paste, tr-like speed, can replace by one character only
paste -s -d ' ' file

#with awk, tr-like speed
awk 1 ORS=' ' file

#Other alternative like "echo $(< file)" is slow, works only on small files and needs to process the whole file to begin the process.
DreamCoder

Ganti garis baru menggunakan Bash Sed Linux

$ echo 'foo
bar
baz

foo2
bar2
baz2' \
| tr '\n' '\000' \
| sed 's:\x00\x00.*:\n:g' \
| tr '\000' '\n'
DreamCoder

Jawaban yang mirip dengan “Ganti garis baru menggunakan Bash Sed Linux”

Pertanyaan yang mirip dengan “Ganti garis baru menggunakan Bash Sed Linux”

Lebih banyak jawaban terkait untuk “Ganti garis baru menggunakan Bash Sed Linux” di Shell/Bash

Jelajahi jawaban kode populer menurut bahasa

Jelajahi bahasa kode lainnya