對一個檔案只要抓第一行與偶數行,用awk即可:
- awk '{if (NR==1) {print $0} else if (NR % 2==0) {print $0}}' input.txt >output.txt
可以使用下面的測試,這樣就不需要input.txt這個檔案了:
- for i in {1..20};do echo $i; done | awk '{if (NR==1) {print $0} else if (NR % 2==0) {print $0}}'
- cat /etc/hosts | awk '{if (NR==1) {print NR" "$0} else if (NR % 2==0) {print NR" "$0}}'
這兩個指令的意思分別是
- 從1到20,印出1與偶數
- 印出/etc/hosts這個檔案的第一行與偶數行,並且加上行號(NR)。這邊要注意awk變數間的空格要用雙引號才會成功。
參考資料
- awk不要分析csv檔案的第一行
- 看例子学awk:有很多奇妙的例子
_EOF_
apartment designed by nate berkus, muted neutral colors
Steps: 20, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 36882143, Size: 512x256, Model hash: fc2511737a, Model: chilloutmix_NiPrunedFp32Fix, Version: v1.6.1
Time taken: 1 min. 53.2 sec.
A: 1.73 GB, R: 2.20 GB, Sys: 2.0/2 GB (100.0%)
沒有留言:
張貼留言