中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]一個高級的問題,文本字串的替換
« [1] [2] »
作者:
标题: [求助]一個高級的問題,文本字串的替換 上一主题 | 下一主题
leo1984
初级用户





积分 96
发帖 43
注册 2007-10-31
状态 离线
『楼 主』:  [求助]一個高級的問題,文本字串的替換

它這論壇是cgi程序,因此論壇的資論都是文本的
結果在改文本出了一些問題
最後這個文本處理好網站就能恢復運行了
請幫幫忙十分感謝大恩大德><


文本以這個作為分隔符

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

處理前:

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

處理後:

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

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

[ Last edited by leo1984 on 2007-10-31 at 01:14 PM ]

2007-10-31 13:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 2 楼』:  

sed "s#^\([^∥]*\)∥\([^∥]*\)\(.*\)#\2∥\1\3#" test.txt>>test1.txt

2007-10-31 13:26
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
leo1984
初级用户





积分 96
发帖 43
注册 2007-10-31
状态 离线
『第 3 楼』:  

不好意思大哥
請問sed開頭這是什麼的指令
我是windows xp 用戶,除了bat檔我可以瞭解
您提供的指令是如何去運行它呢?
謝謝

2007-10-31 13:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 4 楼』:  

sed是第三方工具,是unix下的工具,不过有dos版的

可以搜索一下论坛。

2007-10-31 13:32
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
leo1984
初级用户





积分 96
发帖 43
注册 2007-10-31
状态 离线
『第 5 楼』:  

請教我在這裡找的兩個版本,也想學習這套工具的語言
http://tw.myblog.yahoo.com/c9993 ... prev=73&next=20


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

解出來的路徑   UnxUpdates

這兩種有何差異嗎?
那也是跟cgi或php一樣的環境參數嗎?

2007-10-31 13:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by leo1984 at 2007-10-31 01:41 PM:
請教我在這裡找的兩個版本,也想學習這套工具的語言
http://tw.myblog.yahoo.com/c9993 ... prev=73&next=20


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

试试这个吧,放入system32下就可以l
论坛里有sed一些简单用法的帖子的。

附件 1: sed.rar (2007-10-31 13:45, 40.33 K,下载次数: 17)
2007-10-31 13:45
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
leo1984
初级用户





积分 96
发帖 43
注册 2007-10-31
状态 离线
『第 7 楼』:  

有趣啊這工具
相當方便的一些指令
感謝大哥指點^^

2007-10-31 14:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
leo1984
初级用户





积分 96
发帖 43
注册 2007-10-31
状态 离线
『第 8 楼』:  

忘了問大哥
我的文本有很多要處理
您給的指令只能單一處理一個檔案
如何把整個目錄文本處理後輸出呢?
謝謝

2007-10-31 14:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 9 楼』:  

用个for %%i in (.cgi)吧

2007-10-31 14:15
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
leo1984
初级用户





积分 96
发帖 43
注册 2007-10-31
状态 离线
『第 10 楼』:  

這樣寫嗎?@@
好像行不通哩

@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 ]

2007-10-31 14:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 11 楼』:  

自己琢磨吧,俺可沒有說是這樣寫哦

2007-10-31 14:25
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
leo1984
初级用户





积分 96
发帖 43
注册 2007-10-31
状态 离线
『第 12 楼』:  

麻煩大哥
我研究了好半天,寫出來的都不能順利成功
請先指導新手如何寫
幫忙我網站文本能夠先處理,十分感謝><

2007-10-31 15:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 13 楼』:  


@echo off
md Temp
for %%i in (*.txt) do (
  echo.>Temp\%%~nxi
  sed "s#^\([^∥]*\)∥\([^∥]*\)\(.*\)#\2∥\1\3#" "%%~nxi">>Temp\%%~nxi
)
在楼主给的基础上,修改的。

没测试过。
pause

2007-10-31 15:13
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 14 楼』:  

原先给你那个就可以了,只是%%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




2007-10-31 16:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
leo1984
初级用户





积分 96
发帖 43
注册 2007-10-31
状态 离线
『第 15 楼』:  

樓上的大哥們都非常熱心啊,測試沒問題了
小弟本身也在搞漢化和破解軟件
能和大哥們一起學習真是太好了
網站搞好了會一起跟諸位大大們交流學習^^

2007-10-31 18:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: