13

我得到了一些以 eg_ 开头的文件。并且每个只包含一行

eg_01.txt:@china:129.00

eg_02.txt @uk:219.98

eg_03.txt @USA:341.90

……

我希望将它们集中在一行中,通过 URL 发送,例如:@china:129.00@uk:219.98@USA:341.90

我用回声cat eg_*

它给我的输出看起来像一个字符串,但它实际上包含新行:“@china:129.00

@英国:219.98 @美国:341.90"

有没有其他方法可以构建预期的字符串并摆脱新行甚至空格?只有猫足以做到这一点吗?

提前致谢

4

3 回答 3

23

您可以随时将其通过管道传输到tr

tr "\n" " "

这将删除所有换行符stdin并用空格替换它们

编辑:正如 Bart Sas 所建议的,您也可以删除换行符tr -d

tr -d "\n"

(注意:只tr为第二个参数指定一个空字符串是行不通的)

于 2010-10-14T19:22:12.273 回答
2

仅使用一个命令

url=$(awk '{printf "%s",$0}' eg*)
于 2010-10-14T23:56:51.850 回答
1

在 Perl 中,你会这样做:

perl -pe'chomp' eg*.txt

表示“-p循环输入文件并执行-e开关指定的任何代码chomp。Perl 中的表示“删除任何尾随的换行符。”

于 2010-10-15T00:05:31.787 回答