2017-02-19 70 views
0

下面的代码应该逐行打印sourceFile的内容到targetFile,每行都有“wireless-key s:”,但它只打印“wireless-键s:'到目标文件。Bash脚本 - sourceFile不打印到目标文件

#!/bin/bash 
sourceFile="file1.log" 
targetFile="/etc/network/interfaces" 
numLines="$(wc -l < "${sourceFile}")" 
counter=5 
lineNumber=5 
if ((counter >= "$numLines")) || [[ ! -f "${sourceFile}" ]]; then 
     echo "invaild file" >82; exit 1 
fi 
while [ "$counter" -le "$numLines" ]; do 
     sed -i "${lineNumber} s/.*/wireless-key s: $(sed -n ${counter}p <<< " ${sourceFile}")/" "${targetFile}" 
     counter=$((counter + 1)) 
done 

谢谢

回答

0

或许是一种不同的方法......

的awk '{打印NR, “wireless_key”,$ 0}' SRCFILE> dstfile

+0

谢谢它效果很好 – spbr