我有一个模式:
201404018^@133^@^@1^@^2^@31@1^@^32
20140401^@8133^@3^@0^@^22@1^@^3
201404^@018133^@10^@3^@^4@12^@^321
20140401813322^@97^@^@5^@^23
Run Code Online (Sandbox Code Playgroud)
^@在上面代表NUL字符(0x00),我想在前14个字符(日期时间)内删除它们,但保留其余部分.就像:
20140401813312^@31@1^@^32
20140401813330^@^22@1^@^3
20140401813310^@3^@^4@12^@^321
20140401813322^@97^@^@5^@^23
Run Code Online (Sandbox Code Playgroud)
我试过了sed 's/^[0-9]{0,13}\x00//g'- 但那不会真的有用.
提前致谢!
Perl救援:
perl -pe 's/\x0// while ($i = index $_, "\x0") >= 0 and $i < 14' input-file
Run Code Online (Sandbox Code Playgroud)
对于每一行,它在位置低于14时删除零字节.
| 归档时间: |
|
| 查看次数: |
1084 次 |
| 最近记录: |