i got some files with name start as eg_. and only each contains one single line
eg_01.txt: @china:129.00
eg_02.txt @uk:219.98
eg_03.txt @USA:341.90
......
i am expecting to cat them in to a single line to send by URL like: @china:129.00@uk:219.98@USA:341.90
i use
echo cat eg_*
it give me the output look like a string, but it actually contains new line: "@china:129.00
@uk:219.98 @USA:341.90"
is there any other way i can construct that string which expected and get rid of new line and even the space? is only cat enough to do this?
thanks in advance
The EOF operator is used in many programming languages. This operator stands for the end of the file. This means that wherever a compiler or an interpreter encounters this operator, it will receive an indication that the file it was reading has ended.
Standard usage of echo If one wants to exclude the trailing newline character, the -n option can be passed, as in: echo -n "no trailing newline" .
cat is a bash command used to read, display, or concatenate the contents of a file, while EOF stands for End Of File . The EOF is an indication to the shell that the file that was being read has ended.
You could always pipe it to tr
tr "\n" " "
That removes all newlines on stdin
and replaces them with spaces
EDIT: as suggested by Bart Sas, you could also remove newlines with tr -d
tr -d "\n"
(note: just specifying an empty string to tr
for the second argument won't do)
Using only one command
url=$(awk '{printf "%s",$0}' eg*)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With