2022年9月2日 星期五

Awk抓檔案首行與偶數行

對一個檔案只要抓第一行與偶數行,用awk即可:

  • awk '{if (NR==1) {print $0} else if (NR % 2==0) {print $0}}' input.txt >output.txt

可以使用下面的測試,這樣就不需要input.txt這個檔案了:

  1. for i in {1..20};do echo $i; done | awk '{if (NR==1) {print $0} else if (NR % 2==0) {print $0}}'
  2. cat /etc/hosts | awk '{if (NR==1) {print NR" "$0} else if (NR % 2==0) {print NR" "$0}}'

這兩個指令的意思分別是

  1. 從1到20,印出1與偶數
  2. 印出/etc/hosts這個檔案的第一行與偶數行,並且加上行號(NR)。這邊要注意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%)

沒有留言:

張貼留言