bash - Echo 将我的制表符更改为空格

标签 bash delimiter

我将网络上的以下结构作为如何在 BASH 中读取文件的基本示例:

cat inputfile.txt | while read line; do echo $line; done

不过,我的 inputfile.txt 是用制表符分隔的,上面命令中的行是用空格分隔的。

这在我的实际应用中给我带来了问题,当然比上面的要复杂:我想把这条线,根据它生成一些新的东西,然后把原来的那条线加上新的东西作为extra输出领域。如果没有一堆 cut -d ' 'sed -e 's//\t/g' (这不会无论如何,对于包含空格的制表符分隔数据都是安全的)。

我看过 IFS 解决方案,但在这种情况下它们似乎没有帮助。我想要的是一个 OFS...除了我在 echo ,而不是 awk!我认为,如果我能得到 echo 来逐字逐句地吐出我给它的内容,我就会处于良好状态。有什么想法吗?谢谢!

最佳答案

尝试:

cat inputfile.txt | while read line; do echo "$line"; done

相反。

换句话说,它不是 read替换标签,它是echo .

查看以下文字记录(使用制表符所在的 <<tab>>):

pax$ echo 'hello<<tab>>there' | while read line ; do echo $line ; done
hello there

pax$ echo 'hello<<tab>>there' | while read line ; do echo "$line" ; done
hello<<tab>>there

关于bash - Echo 将我的制表符更改为空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5127954/

相关文章:

bash - 根据 bash 中第一列中的组数和最大行号拆分文件

python - 在 python 中运行 python 脚本

hadoop - 具有RegexSerDe的二进制类型的HBase的Hive数组

java - 使用 StringBuilder 和 BufferedReader,如何在文本文件中的每个单词后添加逗号并生成字符串?

ssis - 找不到该列的列分隔符

python - 如何在交互式命令行应用程序中创建自动完成建议菜单?

Bash:备份/home/中的所有用户并将其放置到username.tar.gz

bash - 哪种形式更适合在 Bash 中使用?

SQL double split on delimiter

java - 读取大型管道分隔值文件时超出 GC 开销限制