cat file1.txt
aa bb
ccc dd
k pppp
cat file2.txt
1
2
3
将文件1中的空格替换成文件2的数字输出
aa1bb
ccc2dd
k3pppp
求指引,自己一直在学习sed,但是这个超出了目前的理解范围。
Below works:
awk 'NR==FNR{a[NR]=$0;next}{sub(/\ /,a[FNR])}1' file2 file1
自己写的脚本, 供参考
自动替换/dir_to_replace里面全部与*.tpl匹配的文件, 替换规则从EOF开始, 到EOF结束
#!/bin/bash
#自动替换/dir_to_replace里面全部与*.tpl匹配的文件, 替换规则从EOF开始, 到EOF结束
if [ $# -ne 1 ]; then
echo "usage: $0 /dir_to_replace"
exit 0
fi
while read -r pattern replacement; do
echo "$pattern --> $replacement"
find $1 -type f -name "*.tpl" -exec sed -i "s=$pattern=$replacement=g" {} \;
done <<EOF
aa bb
ccc ddd
k pppp
EOF