bash cat 多个文件内容到没有换行符的单个字符串

标签 bash file cat

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

eg_01.txt: @中国:129.00

eg_02.txt @英国:219.98

eg_03.txt @美国:341.90

……

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

我用 echo cat eg_*

它给我的输出看起来像一个字符串,但它实际上包含换行符: "@中国:129.00

@英国:219.98 @美国:341.90"

有没有其他方法可以构建预期的字符串并去掉换行甚至空格?只有 cat 足以做到这一点吗?

提前致谢

最佳答案

你总是可以将它通过管道传输到 tr

tr "\n" " "

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

编辑:按照 Bart Sas 的建议,您还可以使用 tr -d

删除换行符
tr -d "\n"

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

关于bash cat 多个文件内容到没有换行符的单个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3936738/

相关文章:

正则表达式查找连续的单词

Linux 脚本 : Saving Memory print into text file via Crontab always blank

java - Java 使用 netbeans 读取输入文件时遇到问题

c# - 许多 C# 解决方案的代码行计数

java - 找不到指定的文件?

linux - 使用命令行组合文件的不相邻部分

bash - awk 扫描单引号字符的字符串

java - 在 Java 中将制表符作为命令行参数传递

cat unix命令多线程实现

linux - 如何重定向 `cat` 以模拟 linux 中的用户输入