如何在Linux中通过shell脚本自动将数据写入文本文件?
我打开了文件。但是,我不知道如何写入数据。
如何在Linux中通过shell脚本自动将数据写入文本文件?
我打开了文件。但是,我不知道如何写入数据。
当前回答
我喜欢这个答案:
cat > FILE.txt <<EOF
info code info
...
EOF
但建议cat >> file .txt << EOF,如果你只是想在文件末尾添加一些东西,而不清除已经存在的东西
是这样的:
cat >> FILE.txt <<EOF
info code info
...
EOF
其他回答
#!/bin/bash
cat > FILE.txt <<EOF
info code info
info code info
info code info
EOF
你可以将命令的输出重定向到一个文件:
$ cat file > copy_file
或者附加到它
$ cat file >> copy_file
如果你想直接写入命令是echo 'text'
$ echo 'Hello World' > file
也可以使用这里的文档和vi,下面的脚本生成一个FILE.txt 3行和变量插值
VAR=Test
vi FILE.txt <<EOFXX
i
#This is my var in text file
var = $VAR
#Thats end of text file
^[
ZZ
EOFXX
然后文件将有如下3行。“i”是启动vi插入模式,类似地用Esc和ZZ关闭文件。
#This is my var in text file
var = Test
#Thats end of text file
简单的回答是:
echo "some data for the file" >> fileName
但是,echo不能以理想的方式处理行尾字符。所以,如果你要追加多行,用printf:
printf "some data for the file\nAnd a new line" >> fileName
>>和>操作符对于重定向命令输出非常有用,它们与其他多个bash命令一起使用。
移动我的评论作为一个答案,由@lycono要求
如果你需要用root权限来做这件事,这样做:
sudo sh -c 'echo "some data for the file" >> fileName'