相关疑难解决方法(0)

删除Linux上的Windows换行符(sed vs. awk)

在字段中间(不是行尾)放置一些带有不正确放置的换行符的分隔文件,在Vim中显示为^ M. 它们源自freebcp(在Centos 6上)导出的MSSQL数据库.以十六进制方式转储数据显示\ r \n模式:

$ xxd test.txt | grep 0d0a
0000190: 3932 3139 322d 3239 3836 0d0a 0d0a 7c43
Run Code Online (Sandbox Code Playgroud)

我可以用awk删除它们,但我无法用sed做同样的事情.

这适用于awk,完全删除换行符:

awk 'gsub(/\r/,""){printf $0;next}{print}'
Run Code Online (Sandbox Code Playgroud)

但这在sed中没有,留下换行:

sed -i 's/\r//g'
Run Code Online (Sandbox Code Playgroud)

这似乎没有效果:

sed -i 's/\r\n//g'
Run Code Online (Sandbox Code Playgroud)

在sed表达式中使用^ M(ctrl + v,ctrl + m)似乎也不起作用.

对于这类任务,sed更容易理解,但我正在努力学习更多两者.我不正确使用sed,还是有限制?

linux awk sed

29
推荐指数
4
解决办法
7万
查看次数

Ubuntu Python shebang行无法正常工作

无法让shebang在Ubuntu中运行python脚本.我每次只得到一个命令未找到错误.

test.py

#!/usr/bin/env python

print ('!')
Run Code Online (Sandbox Code Playgroud)

:which python
/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

在shebang玩蟒蛇的不同位置,但没有运气,包括哪个python提供的.有关如何排除故障的任何提示?

谢谢

python linux ubuntu python-2.7 ubuntu-12.04

5
推荐指数
3
解决办法
1万
查看次数

标签 统计

linux ×2

awk ×1

python ×1

python-2.7 ×1

sed ×1

ubuntu ×1

ubuntu-12.04 ×1