小白求问这个脚本哪里错了(关于awk和sed)
发表于 : 2012-09-27 16:18
就这么几行我是在不知道怎么改了,就是不对
目的是:文件1是我要修改的目标文件,文件2是一个人名的中英文对照,第一列是英文,第二列是中文,两个文件都是csv,我希望将文件1中出现的英文人名替换为文件2对应的中文名,写的脚本如下
我用那两个注释行看到e_name和c_name两个变量赋值是正确的,但是每次运行都显示
之前有一次不知道怎么弄对了,不报错,但是每个中文名字后面都多了个换行
怎么修改这个脚本呢?
谢谢大家!
目的是:文件1是我要修改的目标文件,文件2是一个人名的中英文对照,第一列是英文,第二列是中文,两个文件都是csv,我希望将文件1中出现的英文人名替换为文件2对应的中文名,写的脚本如下
代码: 全选
while read line
do
e_name=`echo $line |awk -F ',' '{print $1}'` c_name=`echo $line|awk -F ',' '{print $2}'`
# echo "e_name =" $e_name
# echo "c_name =" $c_name
sed -i "s/$e_name/$c_name/g" $1
done <$2
要怎么修改呢?sed: -e expression #1, char 21: unterminated `s' command
之前有一次不知道怎么弄对了,不报错,但是每个中文名字后面都多了个换行
怎么修改这个脚本呢?
谢谢大家!