中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-06 06:25
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]一個高級的問題,文本字串的替換 查看 1,682 回复 20
楼 主 [求助]一個高級的問題,文本字串的替換 发表于 2007-10-31 13:00 ·  中国 台湾 中华电信(HiNet)数据中心
初级用户
积分 96
发帖 43
注册 2007-10-31 01:20
18年会员
UID 101245
性别 男
状态 离线
它這論壇是cgi程序,因此論壇的資論都是文本的
結果在改文本出了一些問題
最後這個文本處理好網站就能恢復運行了
請幫幫忙十分感謝大恩大德><


文本以這個作為分隔符

我想將全部文本找到第一個字串∥分隔符之間的內容第二個∥分隔符之間的內容互換

處理前:

1威力導演六 實作 網路教學∥我是誰∥123@yahoo.com.tw


處理後:

威力導演六 實作 網路教學1∥我是誰∥123@yahoo.com.tw

簡單說就是把1威力導演六 實作 網路教學兩個字串互換就可以了
請幫忙,十分十分再十分感謝,很急><
磕頭感謝

[ Last edited by leo1984 on 2007-10-31 at 01:14 PM ]
2 发表于 2007-10-31 13:26 ·  中国 浙江 衢州 中移铁通
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
sed "s#^\([^∥]*\)∥\([^∥]*\)\(.*\)#\2∥\1\3#" test.txt>>test1.txt
3 发表于 2007-10-31 13:31 ·  中国 台湾 中华电信(HiNet)数据中心
初级用户
积分 96
发帖 43
注册 2007-10-31 01:20
18年会员
UID 101245
性别 男
状态 离线
不好意思大哥
請問sed開頭這是什麼的指令
我是windows xp 用戶,除了bat檔我可以瞭解
您提供的指令是如何去運行它呢?
謝謝
4 发表于 2007-10-31 13:32 ·  中国 浙江 衢州 中移铁通
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
sed是第三方工具,是unix下的工具,不过有dos版的

可以搜索一下论坛。
5 发表于 2007-10-31 13:41 ·  中国 台湾 中华电信(HiNet)数据中心
初级用户
积分 96
发帖 43
注册 2007-10-31 01:20
18年会员
UID 101245
性别 男
状态 离线
請教我在這裡找的兩個版本,也想學習這套工具的語言
http://tw.myblog.yahoo.com/c9993/article?mid=37&prev=73&next=20


解出來的路徑 UnxUtils\usr\local\wbin

解出來的路徑 UnxUpdates

這兩種有何差異嗎?
那也是跟cgi或php一樣的環境參數嗎?
6 发表于 2007-10-31 13:45 ·  中国 浙江 衢州 中移铁通
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
Originally posted by leo1984 at 2007-10-31 01:41 PM:
請教我在這裡找的兩個版本,也想學習這套工具的語言
http://tw.myblog.yahoo.com/c9993/article?mid=37&prev=73&next=20


解出來的路徑 UnxUtils\usr\l ...


试试这个吧,放入system32下就可以l
论坛里有sed一些简单用法的帖子的。
附件
sed.rar (40.33 KiB, 下载次数: 17)
7 发表于 2007-10-31 14:09 ·  中国 台湾 中华电信(HiNet)数据中心
初级用户
积分 96
发帖 43
注册 2007-10-31 01:20
18年会员
UID 101245
性别 男
状态 离线
有趣啊這工具
相當方便的一些指令
感謝大哥指點^^
8 发表于 2007-10-31 14:12 ·  中国 台湾 中华电信(HiNet)数据中心
初级用户
积分 96
发帖 43
注册 2007-10-31 01:20
18年会员
UID 101245
性别 男
状态 离线
忘了問大哥
我的文本有很多要處理
您給的指令只能單一處理一個檔案
如何把整個目錄文本處理後輸出呢?
謝謝
9 发表于 2007-10-31 14:15 ·  中国 浙江 衢州 中移铁通
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
用个for %%i in (.cgi)吧
10 发表于 2007-10-31 14:19 ·  中国 台湾 中华电信(HiNet)数据中心
初级用户
积分 96
发帖 43
注册 2007-10-31 01:20
18年会员
UID 101245
性别 男
状态 离线
這樣寫嗎?@@
好像行不通哩

@echo off
md Temp
for /f "delims=" %%f in ('dir /on/b "*.txt"') do (
echo.>Temp\%%~nf.txt
sed "s#^\(*\)∥\(*\)\(.*\)#\2∥\1\3#" %%i in (%%f) do sed %%i∥%%j∥%%k∥%%l∥%%m∥%%n∥%%o∥>>Temp\%%~nf.txt
)
pause

[ Last edited by leo1984 on 2007-10-31 at 02:20 PM ]
11 发表于 2007-10-31 14:25 ·  中国 浙江 衢州 中移铁通
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
自己琢磨吧,俺可沒有說是這樣寫哦
12 发表于 2007-10-31 15:07 ·  中国 台湾 中华电信(HiNet)数据中心
初级用户
积分 96
发帖 43
注册 2007-10-31 01:20
18年会员
UID 101245
性别 男
状态 离线
麻煩大哥
我研究了好半天,寫出來的都不能順利成功
請先指導新手如何寫
幫忙我網站文本能夠先處理,十分感謝><
13 发表于 2007-10-31 15:13 ·  中国 浙江 衢州 中移铁通
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
@echo off
md Temp
for %%i in (*.txt) do (
echo.>Temp\%%~nxi
sed "s#^\(*\)∥\(*\)\(.*\)#\2∥\1\3#" "%%~nxi">>Temp\%%~nxi
)


在楼主给的基础上,修改的。

没测试过。
pause
14 发表于 2007-10-31 16:01 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
原先给你那个就可以了,只是%%i%%j互换

@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 delims=∥" %%i in (%%f) do echo %%j∥%%i∥%%k∥%%l∥>>Temp\%%~nfNew.txt
)
pause
15 发表于 2007-10-31 18:49 ·  中国 台湾 中华电信(HiNet)数据中心
初级用户
积分 96
发帖 43
注册 2007-10-31 01:20
18年会员
UID 101245
性别 男
状态 离线
樓上的大哥們都非常熱心啊,測試沒問題了
小弟本身也在搞漢化和破解軟件
能和大哥們一起學習真是太好了
網站搞好了會一起跟諸位大大們交流學習^^
论坛跳转: