给定一个纯文本文件,如何使用bash,awk,sed等,在行号NLINE处添加字符串STR,在行尾之后只有n个空格?
因此,例如,如果这是NLINE行:
date march 13th
5个空格,我们得到
date march 13th STR
,一个人在新文件中获得修改。
由于
答案 0 :(得分:3)
NLINE=2
s="somestring"
sp=" "
awk -vn="$NLINE" -vs="$s" -vsp="$sp" 'NR==n{$0=$0 sp s}1' file >temp
mv temp file
答案 1 :(得分:2)
$ NLINE=666
$ APPEND=" xxx"
$ sed "${NLINE}s/\$/${APPEND}/" FILENAME
请注意,APPEND不包含任何可能解释的字符。
答案 2 :(得分:0)
#!/bin/bash
NLINE=10
n=5
string="STR"
while read -r line
do
if (( ++count == NLINE ))
then
printf "%s%${n}s%2\n" "$line" " " "$string"
else
echo "$line"
fi
done < inputfile > outputfile