使用 cat 从 linux os 读取文件并忽略换行符

Read file from linux os using cat and ignore newline characters

我正在尝试使用命令行读取文件,从该文件中剪切一定数量的字符,然后将其写回文件。但是,我不想要任何换行符。

我看到的是,如果我使用 echo -n "Example Text" > tmp_file,我可以在没有任何换行符的情况下将数据写入文件。但是,当您使用 cat 读取文件时,您会得到换行符文件。

如何,我可以读取一个文件,获取我需要的字符串并将其写回文件,同时不被换行所困扰。

任何帮助将不胜感激。

可以使用 tr:

echo -n "Example Text" | tr -d "\n" > tmp_file

sed:

echo -n "Example Text" | sed -z "s/\n//g" > tmp_file

如果你只想删除输入末尾的换行符,可以这样做:

echo -e "Example Text\nSome more Text\n\n" | sed -ze "s/[\n]*$//g" > tmp_file

输出将是

Example Text
Some more Text (without newline here)