如何删除 ˆM 字符?
我有一个从 Windows 生成的文件,我必须将其粘贴到 Linux 下的脚本中。 我的脚本工作正常,除了在每一行的末尾我得到一个 ^M 字符。
我怎样才能用bash删除它?
目前我的脚本是:
#/bin/bash
IFS=$'\n'
for CUSTOMER in `cat exp.csv`
do
echo $CUSTOMER
done
I have a file generated from windows that I have to paste into a script under linux.
My script works fine, except for the fact that at the end of every line I got a ^M char.
How can I remove it with bash?
Currently my script is:
#/bin/bash
IFS=
\n'
for CUSTOMER in `cat exp.csv`
do
echo $CUSTOMER
done
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
在进一步处理之前,在
exp.csv
上调用 dos2unix。Call dos2unix on
exp.csv
before further processing.^M 应该是 windows 换行符 \r,因此你只需删除所有 \r
您可以使用 tr 工具来实现此目的,您可以从 bash 脚本中调用该工具,这是来自维基百科文章(我没有验证它):
因此,从 bash 应该是这样的
^M should be windows newline \r, therefore you just need to remove all \r
You can achieve this using the tr tool, which you can call from your bash script, this is from the wikipedia article (i did not verify it):
Therefore, from bash it should be something like
我经常使用
tr
这样做。 CR 字符是八进制的 013:所以在你的循环中,这就是
I do this a lot using
tr
. The CR character is 013 in octal:So in your loop, that would just be
文件上的 dos2unix 命令
dos2unix command ont he file
有多种方法可以从文件中删除错误的
char M
使用命令
dos2unix file_name
在 vi 编辑器中打开文件,转到
命令模式并输入
:%s/ctrl+v ctrl+m//g
这将删除所有坏的您文件中的字符。现在使用
:wq
保存并退出sed -e "s/^M//" filename(exist file name) > newfilename(新名称)
sed -e "s/^M//" 文件名(存在文件名) > newfilename(新名称)
注意:要在 unix 服务器上查找错误字符,请对所有 java 文件点击以下命令
类似地,您可以使用
"*.*"
而不是"*.java"
适用于所有类型的文件there are several ways to remove bad
char M
from your fileuse command
dos2unix file_name
open file in vi editor, go to
command mode and type
:%s/ctrl+v ctrl+m//g
this will remove all badchars from you file. now use
:wq
for save and exitsed -e "s/^M//" filename(exist file name) > newfilename(new name)
sed -e "s/^M//" filename(exist file name) > newfilename(new name)
NOTE: to find bad chars on unix server hit below command for all java files
Similarly you can use
"*.*"
instead of"*.java"
for all type of files