gr6*_*r68 0 awk grep timestamp sed
我有一个包含这样的列表的大文件
email@domain.com^B1569521698
email2@domain.com,@2domain.com^B1569521798
email3@domain.com,test@2domain.com^B1569521898
email10000@domain.com^B1569521998
..
..
Run Code Online (Sandbox Code Playgroud)
该文件名为 /usr/local/email/whitelist
^B 后的数字是 unix 时间戳
我需要从列表中删除时间戳小于(例如)1569521898 的所有行。
我尝试使用各种 awk/sed 组合但没有结果。
^B您注意到的字符是控制字符。前 32 个控制字符是 ASCII 码0到1FH,形成一组特殊的非打印字符。这些字符被称为控制字符,因为这些字符执行各种打印机和显示控制操作而不是显示符号。这个特殊的代表STX或Start of Text。
您可以在 shell 中键入控制字符:Ctrl+ v Ctrl+ b,或者您可以直接使用八进制表示 ( \002)。
awk -F '\002' '($2 >= 1569521898)'
Run Code Online (Sandbox Code Playgroud)