藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 應用編程


    

藍森林 http://www.lslnet.com 2006年6月26日 11:18


請教如何去掉回車符(CTRL-M)

各位高手!

請教如何去掉回車符(CTRL-M), 並且合併被回車符分開的兩行.

多謝!

請教如何去掉回車符(CTRL-M)

sed -e'/CTRL-M/ N;s/CTRL-M\n//' filename

請教如何去掉回車符(CTRL-M)

帥呆了! 多謝指教! 另外, 如果用1空格來代替(CTRL-M), 並且合併被回車符分開的兩行, 我應該怎麼寫.

請教如何去掉回車符(CTRL-M)

我已經解決. 多謝聖騎士指教!!!

請教如何去掉回車符(CTRL-M)

請教如何去掉回車符(CTRL-M)

我已經測試了下面聖騎士給的高招,但是發現只能去掉和合併一些(CTRL-M),有的文件記錄有超過一個(CTRL-M),我要用下面的語句運行好幾次才能去掉所有的(CTRL-M).
e.g.
sed -e'/CTRL-M/ N;s/CTRL-M\n//' filename > filename1
sed -e'/CTRL-M/ N;s/CTRL-M\n//' filename1 > filename2
...
直到全部去掉(CTRL-M).

請教是否還有更好的招?

請教如何去掉回車符(CTRL-M)

dos2unix 命令若可用的話, 就用吧.
要不, 用 col 也行.

請教如何去掉回車符(CTRL-M)

各位高手! 請幫幫忙, 有誰有高招來解決我上面的問題?

SOS!!!

請教如何去掉回車符(CTRL-M)

不知樓主用VI做編輯器嗎?給樓主一個笨方法:
$gvim -e -s -c ":%s/\n/ /g" -c ":wq!" file1

請教如何去掉回車符(CTRL-M)

tr -s "015" "" <file

請教如何去掉回車符(CTRL-M)

我的文件很大, 不能用VI. 我不只需要刪除"CTRL-M", 也要將"CTRL-M"分裂的行合併成一行. 望各位俠客指教.

請教如何去掉回車符(CTRL-M)

怎麼沒有各位大俠的回復? 請各位幫幫!!!!!!!

請教如何去掉回車符(CTRL-M)

-->

試試這樣:
sed -e'/CTRL-M/ N;s/CTRL-M\n//;s/CTRL-M//g'

請教如何去掉回車符(CTRL-M)

跟之前的結果一樣. 我還是需要把(CTRL-M)分開的多行(如4行), 運行3次才能全部刪除並且合併成一行.

請教如何去掉回車符(CTRL-M)

怎麼成了多行呢?你不是說兩行嗎?問件內容貼上來看看。

請教如何去掉回車符(CTRL-M)

我的問題是, 我有一個長字符FIELD在DB2的TABLE中, 用戶用WINDOWS CLIENT程序打入任何字符(包括回車和換行). 當我EXPORT這些記錄並且IMPORT回DB2時, 發現我的一條記錄被CTRL-M分成好幾行, 我需要將CTRL-M去掉並且合併被分裂的行成一行.

請教如何去掉回車符(CTRL-M)

為了解決這個問題, 我寫了下面的SHELL SCRIPT, 我覺得的辦法有點兒苯, 但是, 暫時沒有其他的方法. 不知哪位高手可以給一個更好的招式?

sed -e'/^M/ N;s/^M\n/ /' $1 > _tmp1.txt
ORIGSIZE=`ls -l $1 | awk '{print $5}'`
NEWSIZE=`ls -l _tmp1.txt | awk '{print $5}'`
echo $ORIGSIZE $NEWSIZE
if [ $ORIGSIZE -eq $NEWSIZE ]
then
   mv _tmp1.txt $2
   exit 0
else
   file1="_tmp1.txt"
   file2="_tmp2.txt"
   while true
   do
      sed -e'/^M/ N;s/^M\n/ /' $file1 > $file2
      ORIGSIZE=`ls -l $file1 | awk '{print $5}'`
      NEWSIZE=`ls -l $file2 | awk '{print $5}'`
      echo $ORIGSIZE $NEWSIZE
      if [ $ORIGSIZE -eq $NEWSIZE ]
      then
         mv $file2  $2
         rm -f $file1
         exit 0
      else
         file3=`echo $file2`
         file2=`echo $file1`
         file1=`echo $file3`
      fi
   done
fi

請教如何去掉回車符(CTRL-M)

請教如何去掉回車符(CTRL-M)

學習SHELL編程 把

請教如何去掉回車符(CTRL-M)

每條記錄的^M是一樣的(1個). 每個^M是在行尾.



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com