亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 6613 | 回復(fù): 15
打印 上一主題 下一主題

如何刪除行末的^M [復(fù)制鏈接]

論壇徽章:
1
IT運維版塊每日發(fā)帖之星
日期:2015-09-01 06:20:00
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-10-28 18:03 |只看該作者 |倒序瀏覽
問題: ftp文件時,文件末尾經(jīng)常增加一個^M這樣的符號。替換不掉,很郁悶~!

分析: ^M可能是同時按下ctrl+v+m的dos格式,也可能是^M字符.

解決: ^M是同時按下ctrl+v+m的dos格式
1.dos2unix
usage: dos2unix originalfile convertedfile
這是做dos格式轉(zhuǎn)換為unix,solaris 10 自帶命令.
相關(guān)命令: unix2dos

2. sed
cat -v test | sed 's/\^M$//' test
cat -v test | sed 's/.M$//' test
cat -v test | sed 's/\^M//' test
在solaris 10 中默認不區(qū)分dos格式,需要使用cat -v 選項.

3. awk
awk '{sub(/\r$/,"");print}' urfile


解決: 是^M字符(freebsd/unix)
1.
vi打開:
:1,$s/\^M//g
:%s/\^M//g

2.
cat test | sed 's/\^M$//' test



新需求:
    從Windows中復(fù)制過來的PHP文件中在Freebsd/Solaris/Linux下有很多^M,每一行都有。有沒有批量辦法把它們一次性都刪除?單個文件可以去掉,但是一個網(wǎng)站目錄下有幾十或上百個文件要改,累啊!

解決: 既可以用于單個文件,也可以用于目錄.
方法一
#!/usr/bin/bash
showUsage() {
        echo "Usage: dos2unixdir [dir|file]"
        exit 0
}

dir=$PWD
if [ $# -gt 1 ]
then
        showUsage
fi

if [ $# -gt 0 ]
then
        dir=$1
fi

for i in `find $dir`
do
        if [ ! -d $i ]
        then
                echo "processing file..." $i
                f=`basename $i`
                d=`dirname $i`
                sleep 1
                dos2unix $i $d/$f.$$ && mv $d/$f.$$ $d/$f
        fi
done

方法二
#!/usr/bin/bash
showUsage() {
        echo "Usage: dos2unixdir [dir|file]"
        exit 0
}

dir=$PWD
if [ $# -gt 1 ]
then
        showUsage
fi

if [ $# -gt 0 ]
then
        dir=$1
fi

for i in `find $dir`
do
        if [ ! -d $i ]
        then
                echo "processing file..." $i
                sleep 1
                dos2unix $i $i.$$ && mv $i.$$ $i
        fi
done


附錄一
問題:
一個文件中,很多地方都是以^@開頭,如何將它們刪除?非常感謝!

解決:
樓主所說的不是^@(兩個字符)吧?
我猜樓主是指NULL字符。去掉NULL就可以:
tr -d '\000' urfile

sed 's/^\^@//' urfile
grep -v '^\^@'
用這個命令的時候提示“Binary file total_data matches”

論壇徽章:
0
2 [報告]
發(fā)表于 2010-10-29 09:39 |只看該作者
ftp時,用asc方式,就不會有^M了

論壇徽章:
0
3 [報告]
發(fā)表于 2010-10-29 11:30 |只看該作者
dos2unix a b

論壇徽章:
0
4 [報告]
發(fā)表于 2010-10-29 15:08 |只看該作者
新需求:
    從Windows中復(fù)制過來的PHP文件中在Freebsd/Solaris/Linux下有很多^M,每一行都有。有沒有批量辦法把它們一次性都刪除?單個文件可以去掉,但是一個網(wǎng)站目錄下有幾十或上百個文件要改,累!
tanjiyong138 發(fā)表于 2010-10-28 18:03


這個就不用做什么了,apache不會管這個^M的

論壇徽章:
0
5 [報告]
發(fā)表于 2010-10-29 17:18 |只看該作者
學(xué)習(xí)了。不過貌似還沒遇到過。
防范于未然啊。

論壇徽章:
0
6 [報告]
發(fā)表于 2010-10-30 12:18 |只看該作者
我也是來學(xué)習(xí)的

論壇徽章:
1
IT運維版塊每日發(fā)帖之星
日期:2015-09-01 06:20:00
7 [報告]
發(fā)表于 2011-04-29 13:09 |只看該作者

論壇徽章:
2
雙魚座
日期:2014-02-23 12:10:03操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-12-17 06:20:00
8 [報告]
發(fā)表于 2011-04-29 13:41 |只看該作者

論壇徽章:
0
9 [報告]
發(fā)表于 2011-04-29 15:11 |只看該作者
擦,直接bin格式不行嗎

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
10 [報告]
發(fā)表于 2011-04-29 23:54 |只看該作者
bin方式才會有^M
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP