たとえば、コンテンツがあります。
001
002
004
008
010
というテキストファイルからfile
欠落しているコンテンツをどのように抽出できますか3 5 6 7 9
?
ベストアンサー1
一方awk
通行:
$ awk 'NR != $1 { for (i = prev + 1; i < $1; i++) {print i} } { prev = $1 + 1 }' file
3
5
6
7
9
より明確に言えば:
awk 'NR != $1 {
for (i = prev + 1; i < $1; i++) {
print i
}
}
{
prev = $1
}'
各行の行番号が数字と一致することを確認し、一致しない場合は、前のprev
数字()と現在の数字(含まれていないためi = prev + 1
)の間のすべての数字を印刷します。