标题: [求助]一個很急的文本刪除問題,快要哭出來了><
[打印本页]
作者: leo1984
时间: 2007-10-31 02:01
标题: [求助]一個很急的文本刪除問題,快要哭出來了><
大家好,我幫朋友架設的論壇作管理
它這論壇是cgi程序,因此論壇的資論都是文本的
結果在改文本出了一些問題請幫幫我><
文本以
∥這個作為分隔符
我想將
全部文本找到倒數第一、二、三的∥分隔符之間的內容全刪除
範例如下:
處理前:
1∥威力導演六 實作 網路教學∥我是誰∥123@yahoo.com.tw∥這個網頁無法連結<br>∥2007/10/11 10:55∥219.84.136.241∥d6wRPnMHgj46Q∥1192071350∥QBIFBW3Q∥
處理後:
1∥威力導演六 實作 網路教學∥我是誰∥123@yahoo.com.tw∥這個網頁無法連結<br>∥2007/10/11 10:55∥219.84.136.241∥
簡單的說只要能把
219.84.136.241之後的刪除就可以了
但是
219.84.136.241是用戶的IP,所以是不規則的字串
請幫忙,十分十分再十分感謝,很急><
磕頭感謝
[
Last edited by leo1984 on 2007-10-31 at 02:03 AM ]
作者: zh159
时间: 2007-10-31 02:32
@echo off
for /f "tokens=1,2,3,4,5,6,7 delims=∥" %%i in (Oldlist.txt) do echo %%i∥%%j∥%%k∥%%l∥%%m∥%%n∥%%o∥>>Newlist.txt
pause
作者: leo1984
时间: 2007-10-31 02:48
非常感謝您熱心幫忙
但是請問我把Oldlist.txt改成*.txt,就是打開所有文本
但是該如何修改之後直接儲存文本本身,不用再輸出Newlist.txt
呢?
[
Last edited by leo1984 on 2007-10-31 at 02:49 AM ]
作者: zh159
时间: 2007-10-31 09:06
批处理里不能直接同时读取儲存文本本身,否则新数据会直接覆盖旧数据
自己先测试
@echo off
md Temp
for /f "delims=" %%f in ('dir /on/b "*.txt"') do (
echo.>Temp\%%~nfNew.txt
for /f "tokens=1,2,3,4,5,6,7 delims=∥" %%i in (%%f) do echo %%i∥%%j∥%%k∥%%l∥%%m∥%%n∥%%o∥>>Temp\%%~nfNew.txt
)
pause
[
Last edited by zh159 on 2007-10-31 at 09:08 AM ]
作者: abcd
时间: 2007-10-31 09:23
sed "s#^\(.*∥\)[^∥]*∥[^∥]*∥[^∥]*∥$#\1#" test.txt
作者: leo1984
时间: 2007-10-31 09:42
十分感謝您的幫忙zh159,已經成功解決了
也祝您一切順心^^
也感謝abcd,但是這段我也測試過,似乎只是搜索到字串,沒有什麼反應,也是謝謝你^^
作者: xinhepc
时间: 2007-10-31 11:10
楼主的字体怎么繁体的?看了好别扭!
作者: leo1984
时间: 2007-10-31 12:53
不好意思
因為我是台灣來的用戶,只有繁體的中文輸入^^"
作者: zh159
时间: 2007-10-31 15:52
不止台湾,香港的也有繁体的(俺是大陆的^_^)
简体在于书写方便,书法用繁体的可能更显功力;简体要推广,繁体不能忘^_^