我的文件的編號從
00000000
00000001
00000002
.
.
.
99999999
我想在 bash 中過濾它,以便輸出如下:
00000000
00000011
00000022
.
.
11223344
11223355
.
.
99999977
99999988
99999999
答案1
看起來你確實想要篩選文件而不是對其進行排序 - 特別是,僅輸出完全由重複字元對或(更具體地說)數字組成的那些行。例如使用grep
,類似
grep -Ex '((.)\2)+' yourfile
或使用 PCRE 模式來避免捕捉外部組
grep -Px '(?:(\d)\1)+' yourfile
答案2
假設所有數字都有八位數字並且位於名為 nums.txt 的檔案中,則可以使用 awk 字串函數 substr 來過濾最後兩個字元相同的所有行:
awk '{ if(substr($1, 7, 1)==substr($1, 8, 1)) print $1}' nums.txt
然後你會得到:
00000000
00000011
00000022
00000055
....