shell脚本,重定向输出到文件,不换行

文件a.txt里面已经有内容"123"
我想把"456"输出到"123"后面,即a.txt内显示"123456"
请问有什么办法?
答案高效好使的,再加100分!

1、首先命令输出重定向的语法为:$ command > file,输出到显示器的内容就可以被重定向到文件。下面的命令在显示器上不会看到任何输出:$ who > users打开 users 文件,可以看到下面的内容。

2、使用“>”会覆盖文件内容,使用“>>”追加到文件末尾。

3、输入重定向和输出重定向一样,Unix 命令也可以从文件获取输入,语法为:command < file这样,本来需要从键盘获取输入的命令会转移到文件读取内容。计算 users 文件中的行数,可以使用下面的命令。

4、如果希望 stderr 重定向到 file,可以这样写:$command 2 > file如果希望 stderr 追加到 file 文件末尾,可以这样写:$command 2 >> file,2 表示标准错误文件(stderr)。

5、如果希望将 stdout 和 stderr 合并后重定向到 file,可以这样写:$command > file 2>&1或$command >> file 2>&1。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-25
前提是a.txt 末尾没有换行啊。

echo -n 123 >a.txt
echo -n 456 >>a.txt
-n 表示echo输出不自动添加换行。追问

哎,没有换行就好办了,echo -e "123/c">>a.txt 也行..
那请问,如果echo -n 123 >a.txt之后,我又想换行插入456了,最标准的做法是什么(即怎么先插入换行符,再插入456)

追答

添加一个换行 echo >>a.txt 这样就OK 了。

在没有换行的文件后再次换行添加内容你要先 。
echo -n 123 > a.txt
echo >>a.txt #添加换行
echo 456 >>a.txt

你可以把你的问题一次说完,亲。你这样一条一条的问最好的效率的脚本怎么写。
其实把这些片段拼到一起效率不见得有多好。
因为你遇到的情况可能可以使用一个临时文件之类的东西,一次性处理完啊。

本回答被提问者采纳
相似回答