我有兩個檔案:
log.txt
log.bak2022.06.20.10.00.txt
是atlog.bak2022.06.20.10.00.txt的備份。log.txt2022.06.20 10:00
但這log.txt是一個增加內容的檔案。
現在我有一個要求,我想獲取log.txt減號的內容log.bak2022.06.20.10.00.txt,然后寫入一個新檔案。有可能實施嗎?
uj5u.com熱心網友回復:
假設:
- 小檔案包含 N 行,這 N 行與大檔案中的第一個 N 行完全匹配
樣本輸入:
$ cat small
4
2
1
3
$ cat big
4
2
1
3
8
10
9
4
一個comm想法:
$ comm --nocheck-order -13 small big
8
10
9
4
一個awk想法:
$ awk '
FNR==NR { max=FNR; next }
FNR>max
' small big
8
10
9
4
一個wc/sed想法:
$ max=$(wc -l < small)
$ ((max ))
$ sed -n "$max,$ p" big
8
10
9
4
uj5u.com熱心網友回復:
awk基于解決方案,無需 unix 管道|鏈regex、函式呼叫或array拆分:
{m,n,g}awk '(_ = NR==FNR ) < FNR' FS='^$' small.txt big.txt
8
10
9
4
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/497093.html
上一篇:看不到自制檔案
