使用awk每隔这么多行插入字符串
Inserting strings every so many lines with awk
我正在尝试插入命令字符串,但我的语法有问题。我试图每隔一行获取“mv”,每隔三行“睡眠”一次,每隔四行“等待”一次。这是我得到的并且一直在玩不同的组合。任何帮助将不胜感激。
awk '{ print; print "mv $NEWEST $RNAME"; }' curl.txt > mv.txt
sleep 2
wait
awk 'NR==3{ print "sleep 2"; }1' mv.txt > sleep.txt
sleep 2
wait
awk 'NR==4{ print "wait"; }1' sleep.txt > wait.txt
这是你想要做的吗?
$ seq 5 | sed '1~1a mv $NEWEST $RNAME\nsleep 2\nwait'
1
mv $NEWEST $RNAME
sleep 2
wait
2
mv $NEWEST $RNAME
sleep 2
wait
3
mv $NEWEST $RNAME
sleep 2
wait
4
mv $NEWEST $RNAME
sleep 2
wait
5
mv $NEWEST $RNAME
sleep 2
wait
您可以通过1~1
更改起始行号和频率
我不太明白你想做什么,但这还不够吗?
awk '{ printf "%s\n%s\n%s\n%s\n", [=10=], "mv $NEWEST $RNAME", "sleep 2", "wait" }' curl.txt
我正在尝试插入命令字符串,但我的语法有问题。我试图每隔一行获取“mv”,每隔三行“睡眠”一次,每隔四行“等待”一次。这是我得到的并且一直在玩不同的组合。任何帮助将不胜感激。
awk '{ print; print "mv $NEWEST $RNAME"; }' curl.txt > mv.txt
sleep 2
wait
awk 'NR==3{ print "sleep 2"; }1' mv.txt > sleep.txt
sleep 2
wait
awk 'NR==4{ print "wait"; }1' sleep.txt > wait.txt
这是你想要做的吗?
$ seq 5 | sed '1~1a mv $NEWEST $RNAME\nsleep 2\nwait'
1
mv $NEWEST $RNAME
sleep 2
wait
2
mv $NEWEST $RNAME
sleep 2
wait
3
mv $NEWEST $RNAME
sleep 2
wait
4
mv $NEWEST $RNAME
sleep 2
wait
5
mv $NEWEST $RNAME
sleep 2
wait
您可以通过1~1
我不太明白你想做什么,但这还不够吗?
awk '{ printf "%s\n%s\n%s\n%s\n", [=10=], "mv $NEWEST $RNAME", "sleep 2", "wait" }' curl.txt