在一個文件夾中,我有幾個文件,其名稱中包含多個參數。我應該將所有這些文件的第二行和最後一行復制到另一行。下面的命令做這項工作的一個文件(1 SED副本二號線和sed是關係到最後一行tail命令,因爲我需要找到最後生成的文件中的第二個。):複製多個文件的兩行
(sed -n '2p' $(ls -rt1 pa*p3.3_*.txt | tail -1) && sed -n '$p' $(ls -rt1 pa*p3.3_*.txt | tail -1)) >> f1.txt
現在參數P在例如1,1.1,1.2 ..,2.9,3的範圍內。我如何在shell中循環執行上述命令?我嘗試過以下腳本,但不起作用:
#!/bin/bash
num=$(awk 'BEGIN{for(i=1;i<=3;i+=0.1)print i}')
for n in $num
do
(sed -n '2p' $(ls -rt1 pa*p$n_*.txt | tail -1) && sed -n '$p' $(ls -rt1 pa*p$n_*.txt | tail -1))
done
我該如何執行此任務?一般來說,如何在循環中執行命令?提前致謝!
好點,我忘了,我可以兩條線同時複製!但我的問題是關於如何在一個循環中做的事情,我發現在循環內的sed命令中只需要將$ {n}而不是$ n放入。謝謝 – physiker