Unix写入文件只创建新行

时间:2015-10-08 00:04:40

标签: bash unix

我有以下代码

#!/bin/bash
output= cat $1 | sed s/$2/$3/
if [ -f "$1" ]
then 
    echo $output > "$1"
    echo "Done"
fi

参数:

1是文件

2个旧词

3个新单词替换

文件权限是777,由于某种原因,代码将使用换行符替换当前文件。这个问题有任何可能的原因吗?

1 个答案:

答案 0 :(得分:1)

尝试:

#!/bin/bash
output=`cat $1 | sed s/$2/$3/`
if [ -f "$1" ]
then 
    echo $output > "$1"
    echo "Done"
fi