我有以下代码
#!/bin/bash
output= cat $1 | sed s/$2/$3/
if [ -f "$1" ]
then
echo $output > "$1"
echo "Done"
fi
参数:
1是文件
2个旧词
3个新单词替换
文件权限是777,由于某种原因,代码将使用换行符替换当前文件。这个问题有任何可能的原因吗?
答案 0 :(得分:1)
尝试:
#!/bin/bash
output=`cat $1 | sed s/$2/$3/`
if [ -f "$1" ]
then
echo $output > "$1"
echo "Done"
fi