Linux不能查看ASCII字符表,Bash/Linux在.txt文件中查找非ASCII字符并将其替换为ASCII字符...

我有一个从海洋仪器中卸载的文件列表。出于某种原因,偶尔会有一个非ASCII字符插入到ASCII字符应该在的位置。我找到了严重的E(È),在那里应该有一个W来表示西半球的经度记录。Bash/Linux在.txt文件中查找非ASCII字符并将其替换为ASCII字符

下面是数据的模样:

CUMSECS Date UTC Time UTC Date Local Time local Z (m) Target Z Z Bot Temp PAR Salin Ang VelX Ang VelY Ang VelZ Pump + Pump - Gctr Fix secs Date UTC Time UTC Date Local Time Local Lat LatD Latm Lon LonD Lonm DOP Temp PAR Salin Batt V CMD secs Date Local Time Local No. Cmds

526068034 09/01/16 18:00:34 09/01/16 11:00:34 3.75 2.69

3.75 0.29 0.000000 0.00 -12 -70 -50 0 5 10

526068039 09/01/16 18:00:39 09/01/16 11:00:39 3.75 2.69

3.75 0.29 0.000000 0.00 -12 -70 -50 0 5 10

526068044 09/01/16 18:00:44 09/01/16 11:00:44 3.74 2.69

3.75 0.29 0.000000 0.00 -12 -70 -50 0 5 10

526068049 09/01/16 18:00:49 09/01/16 11:00:49 3.73 2.69

3.75 0.29 0.000000 0.00 -30732 13588 31909 60399 7538 -82

543622771 03/23/17 22:19:31 03/23/17 15:19:31 38.31877 38

19.1262 N 123.07136 123 4.2812 È 23.6 115.06 0.0000 96.00

121.718

547764151 05/10/17 20:42:31 05/10/17 13:42:31 0.03 16.00

127.00 13.68 1074.904320 33.56 -4908 -3976 261 1 0 0

547764152 05/10/17 20:42:32 05/10/17 13:42:32 0.00 16.00

127.00 13.68 1074.904320 33.56 -4908 -3976 261 1 0 0

我用下面的Bash行能找到非ASCII字符 pcregrep -n '[^\x00-\x7F]' 170510_ocean_Copepod.txt

我想通过一系列文件的循环,发现这些字符,并用'W'替换它们,以便我可以随后将它们读入R并集中处理它们。或者,R对尝试读取这些文件(“位置中的多字节字符串”)返回的错误的解决方法对我的目的同样有效。任何帮助非常感谢。

+2

你尝试过什么到目前为止,该命令使用iconv将文件转换? –

+0

'pcregrep -n'[^ \ x00- \ x7F]'170510_ocean_Copepod.txt | sed's/[^ \ x00- \ x7F]/W/g''但在sed调用中返回一个非法字节序列的错误 –

+0

您是否尝试更改'read.table'的'fileEncoding'参数? –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值