数千行の16進値を含むテキストファイルがあります。
0x20000804
0x20001004
0x20002004
0x20004004
0x20008004など...(数千行)
特定のインデックス/位置から特定の文字を含む行を除外するために逆方向grep式を実行する方法はありますか?
例: .txt ファイルの上の数字に対して、索引/位置 #6 に「8」のない行だけを維持したいと思います。
次から始めましょう:
0x20008034
0x20000804
0x20001004
0x20002004
0x20004004
0x20008004
次のような結果が出てくるはずです。
0x20000804
0x20001004
0x20002004
0x20004004
これは、インデックス/位置6に文字「8」がないためです。
答え1
グレブを使う:
grep -vE '^.{6}8' file
Awkでは、空のフィールド区切り文字を使用して、各文字がフィールドになるようにします。
awk -F '' '$7 != "8"' file
答え2
$ grep -v '^0x....8' /path/to/datafile