这是bash脚本。
Counter.sh:
#!/bin/bash
rm -rf home/pi/temp.mp3
cd /home/pi/
now=$(date +"%d-%b-%Y")
count="countshift1.sh"
mkdir $(date '+%d-%b-%Y')
在这个脚本的第5行,count变量......我只是想知道如何使用AWK将整数1(第18个字符,感谢响应)更改为3然后保存Counter.sh文件。
答案 0 :(得分:1)
这基本上是http://mywiki.wooledge.org/BashFAQ/050 - 假设你的脚本实际上在某个地方$count
实际上做了某些事情,你应该重构一下以避免这种反模式。有关此主题的更多信息,请参阅链接的常见问题解答。
话虽如此,如果不对实时代码进行更改,在此处执行操作并不困难。考虑像
这样的东西awk 'END { print 5 }' /dev/null > file
在cron
工作或类似工作(使用Awk只是因为你的问题要求它,而不是因为它是这项工作的最佳工具)然后在你的主脚本中使用该文件; < / p>
read index <file
count="countshift$index.sh"
虽然这表面上删除了动态更改脚本的要求(这是一个很大的胜利),但你仍然有另一个讨厌的问题(变量中的代码!),你应该找到一个更好的方法来解决它。 / p>
答案 1 :(得分:0)
我不认为awk是理想的工具。有很多方法可以做到这一点。
我会使用Perl。
perl -pi -e 's/countshift1/countshift3/' Counter.sh