我有一些代码,如下所示。问题是,我正在使用的模式有多次出现。我想知道是否有任何方法可以让awk仅在模式的第一次出现时执行,这样它就不会在文件中重复了?
感谢任何帮助
由于
for Server in $Serverlist; do
f2="$(<$1)"
awk -vf2="$f2" '/Server N.*1p/{print f2;print;next}1' $Server > tmp
mv tmp $Server
done
答案 0 :(得分:2)
awk -vf2="$f2" '/Server N.*1p/ && !seen {print f2;print;seen=1}1' $Server > tmp
将是最简单的方式。