如何删除文件中包含乱码的行?

小雨转晴 2011-07-12 11:07:38



请教如何删除文件开头不是以“[^a-zA-Z0-9-\s.]+” 开头 或者包含上图乱码的行?

谢谢
...全文
253 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
小雨转晴 2011-07-13
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 thenshesaid 的回复:]

把Perl code
sed -i '/^[^a-zA-Z0-9]/d' yourfile
中的^去掉也许就可以了。
^一般在正则表达式中表示一行开头,建议LZ读一下sed帮助
[/Quote]

我是这么写的,不过它全给删除了

sed -i '/[^a-zA-Z0-9\.\-]/d' myfile
justkk 2011-07-13
  • 打赏
  • 举报
回复
试试
tr -d "[^a-zA-Z0-9\.\-]" myfile
freetstar 2011-07-12
  • 打赏
  • 举报
回复
问题是什么文件
昵称很不好取 2011-07-12
  • 打赏
  • 举报
回复
看看是否是楼上说的编码问题,如果删除的话,可以用:
sed -i '/^[^a-zA-Z0-9]/d' yourfile
yong_f 2011-07-12
  • 打赏
  • 举报
回复
open read write
金刚葫芦娃 2011-07-12
  • 打赏
  • 举报
回复
那不是乱码吧,估计是编码问题,你用什么写的?用什么打开的?
thenshesaid 2011-07-12
  • 打赏
  • 举报
回复
sed -i '/^[^a-zA-Z0-9]/d' yourfile
中的^去掉也许就可以了。
^一般在正则表达式中表示一行开头,建议LZ读一下sed帮助
小雨转晴 2011-07-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 thefirstz 的回复:]

看看是否是楼上说的编码问题,如果删除的话,可以用:
sed -i '/^[^a-zA-Z0-9]/d' yourfile
[/Quote]

这个是不是只能删除开头出现问题的? 有的是一行开头没问题,但是中间儿出现乱码了。
小雨转晴 2011-07-12
  • 打赏
  • 举报
回复
谢谢各位,我的文件里面放的是域名,如果不是英文域名都不要就可以。
里面英文啊,中文啊,韩文什么都可以显示,但是我只需要英文部分,就是普通的文本文件。
louyong0571 2011-07-12
  • 打赏
  • 举报
回复
楼主先别急着删哦,先确定下是不是乱码
昵称很不好取 2011-07-12
  • 打赏
  • 举报
回复
有可能是bin文件,乱码也不能这个样子。。。
帅得不敢出门 2011-07-12
  • 打赏
  • 举报
回复
不会是bin文件吧

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧