ost*_*r.c 80
在unix中创建文本文件可以通过文本编辑器(vim,emacs,gedit等)完成.但你想要的可能是这样的
echo "insert text here" > myfile.txt
Run Code Online (Sandbox Code Playgroud)
这会将文本'insert here here'放入文件myfile.txt中.要验证这是否有效,请使用命令'cat'.
cat myfile.txt
Run Code Online (Sandbox Code Playgroud)
如果要附加到文件,请使用此选项
echo "append this text" >> myfile.txt
Run Code Online (Sandbox Code Playgroud)
Gre*_*att 34
如果您希望将其作为脚本,则以下Bash脚本应该执行您想要的操作(并在文件已存在时告诉您):
#!/bin/bash
if [ -e $1 ]; then
echo "File $1 already exists!"
else
echo >> $1
fi
Run Code Online (Sandbox Code Playgroud)
如果您不想要"已存在"消息,则可以使用:
#!/bin/bash
if [ ! -e $1 ]; then
echo >> $1
fi
Run Code Online (Sandbox Code Playgroud)
编辑使用:
保存您喜欢的任何版本的版本,让我们说"create_file"(引用我的,你不希望它们在文件名中).然后,为了使文件可执行,在命令提示符处执行:
chmod u+x create_file
Run Code Online (Sandbox Code Playgroud)
将文件放在路径中的目录中,然后将其用于:
create_file NAME_OF_NEW_FILE
Run Code Online (Sandbox Code Playgroud)
$ 1是一个特殊的shell变量,它在程序名后面的命令行中获取第一个参数; 即$ 1将在上面的用法示例中选择NAME_OF_NEW_FILE.
Dav*_*d Z 15
假设您的意思是UNIX shell命令,请运行
echo >> file.txt
Run Code Online (Sandbox Code Playgroud)
echo打印换行符,并>>告诉shell将该换行符附加到该文件,如果它尚不存在则创建.
但是,为了正确回答这个问题,如果文件已经存在,我需要知道你想要发生什么.例如,如果您想用换行符替换当前内容,则可以使用
echo > file.txt
Run Code Online (Sandbox Code Playgroud)
编辑:并回应贾斯汀的评论,如果你只想在文件尚不存在时添加换行符,你可以做
test -e file.txt || echo > file.txt
Run Code Online (Sandbox Code Playgroud)
至少在Bash中有效,我不确定它是否也适用于其他shell.
小智 6
#!/bin/bash
file_location=/home/test/$1.json
if [ -e $policy ]; then
echo "File $1.json already exists!"
else
cat > $file_location <<EOF
{
"contact": {
"name": "xyz",
"phonenumber": "xxx-xxx-xxxx"
}
}
EOF
fi
Run Code Online (Sandbox Code Playgroud)
此代码检查用户的给定 JSON 文件是否存在于测试主目录中。如果它不存在,它将用内容创建它。您可以根据需要修改文件位置和内容。
| 归档时间: |
|
| 查看次数: |
158363 次 |
| 最近记录: |