分页: 1 / 1

小白求问这个脚本哪里错了(关于awk和sed)

发表于 : 2012-09-27 16:18
dan.elpt
就这么几行我是在不知道怎么改了,就是不对
目的是:文件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
我用那两个注释行看到e_name和c_name两个变量赋值是正确的,但是每次运行都显示
sed: -e expression #1, char 21: unterminated `s' command
要怎么修改呢?

之前有一次不知道怎么弄对了,不报错,但是每个中文名字后面都多了个换行
怎么修改这个脚本呢?
谢谢大家!

Re: 小白求问这个脚本哪里错了(关于awk和sed)

发表于 : 2012-09-27 16:23
eexpress
echo "xklkwx" |sed -e "s/$e_name/$c_name/g"

Re: 小白求问这个脚本哪里错了(关于awk和sed)

发表于 : 2012-09-27 17:53
dan.elpt
eexpress 写了:echo "xklkwx" |sed -e "s/$e_name/$c_name/g"
echo "xklkwx" 是干什么?
后半部分和我相比就是吧-i换成-e 也报错,报错内容一样

Re: 小白求问这个脚本哪里错了(关于awk和sed)

发表于 : 2012-09-27 20:48
YeLee
i的不是in-place么?怎么跟expression混淆了? :em01 :em01 :em01