|
leo1984
初级用户
积分 96
发帖 43
注册 2007-10-31
状态 离线
|
『楼 主』:
[求助]請問如何針對某個分隔符內字串作處理?
我有一個文本內容是這樣的
∥bc915∥∥[文書處理]∥Ediary 2.53[免安裝版]∥59.117.162.144∥2007/08/23/ 01:10:07∥2007/08/23/ 01:10:07∥698∥4∥2007/10/12 13:13∥∥∥∥TATATA∥
紅色的部份是我要刪除的部份
而空格的部份我要替換成"中國萬歲"
而我需要只針對那個分隔符內的字串作修改,其他的不要去修改到
可是我寫到這裡就不知道該怎麼寫了
Quote: | @echo off
for /f "delims=" %%f in ('dir /on/b "1.txt"') do (
for /f "tokens=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 delims=∥" %%i in (%%f) do echo %%i∥∥%%j∥%%k∥%%l∥%%m∥%%n∥%%o∥%%p∥∥∥∥%%q∥>>2.txt
)
pause |
|
麻煩老大哥們幫我寫個範例
我會依我的需要去改的
十分感謝><"
[ Last edited by leo1984 on 2007-11-5 at 11:53 AM ]
|
|
2007-11-5 11:51 |
|
|
junchen2
高级用户
积分 537
发帖 219
注册 2007-8-4 来自 杭州--半山
状态 离线
|
『第
2 楼』:
sed -e "s/ /中国/g;s:/::7;s:/::7;s/://5" 1.txt
|
|
2007-11-5 12:42 |
|
|
terse
银牌会员
积分 2404
发帖 946
注册 2005-9-8
状态 离线
|
『第
3 楼』:
是这个意思?
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%f in ('dir /on/b "1.txt"') do (
for /f "tokens=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 delims=∥" %%i in (%%f) do (
set "q=%%q"
set q=!q::=!
set q=!q:/=!
echo %%i∥中國萬歲∥%%j∥%%k∥%%l∥%%m∥%%n∥%%o∥%%p∥中國萬歲∥中國萬歲∥中國萬歲∥!q!∥>>2.txt
)
)
pause 还是这个呢?
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%f in ('dir /on/b "1.txt"') do (
for /f "tokens=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 delims=∥" %%i in (%%f) do (
set "q=%%q"
set q=!q::=!
set q=!q:/=!
set q=!q: =中國萬歲!
echo %%i∥ ∥%%j∥%%k∥%%l∥%%m∥%%n∥%%o∥%%p∥ ∥ ∥ ∥!q!∥>>2.txt
)
)
pause [ Last edited by terse on 2007-11-5 at 12:47 PM ]
|
|
2007-11-5 12:43 |
|
|
leo1984
初级用户
积分 96
发帖 43
注册 2007-10-31
状态 离线
|
『第
4 楼』:
非常感謝大哥們幫忙
但我是要針對%%p內的字串作修改,其他的都不會修改到
但剛才試了,好像都沒有修改到耶@@?
請問是什麼原因呢?
|
|
2007-11-5 18:16 |
|
|
abcd
银牌会员
积分 1436
发帖 739
注册 2007-10-11
状态 离线
|
『第
5 楼』:
sed "/∥/ s# #中國萬歲#4;s#/##7;s###7;s#:##5" 1.txt>2.txt
能用sed,干嘛不用呢??
[ Last edited by abcd on 2007-11-5 at 08:54 PM ]
|
|
2007-11-5 18:44 |
|
|
terse
银牌会员
积分 2404
发帖 946
注册 2005-9-8
状态 离线
|
『第
6 楼』:
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%f in ('dir /on/b "1.txt"') do (
for /f "tokens=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 delims=∥" %%i in (%%f) do (
set "q=%%q"
set q=!q::=!
set q=!q:/=!
set q=!q: =中國萬歲!
echo %%i∥ ∥%%j∥%%k∥%%l∥%%m∥%%n∥%%o∥%%p∥ ∥ ∥ ∥!q!∥>>2.txt
)
)
pause 1.txt:
∥bc915∥∥[文書處理]∥Ediary 2.53[免安裝版]∥59.117.162.144∥2007/08/23/ 01:10:07∥2007/08/23/ 01:10:07∥698∥4∥2007/10/12 13:13∥∥∥∥TATATA∥ 2.txt:
bc915∥ ∥[文書處理]∥Ediary 2.53[免安裝版]∥59.117.162.144∥2007/08/23/ 01:10:07∥2007/08/23/ 01:10:07∥698∥4∥ ∥ ∥ ∥20071012中國萬歲1313∥ [ Last edited by terse on 2007-11-5 at 07:46 PM ]
|
|
2007-11-5 19:44 |
|
|
leo1984
初级用户
积分 96
发帖 43
注册 2007-10-31
状态 离线
|
『第
7 楼』:
非常感謝terse大哥的指導^^
一日為師終身為父@@
給abcd大哥,不是我不用@@
是因為我想要"看的懂" "學得會"
dos指令我目前懂得看也剛開始學寫
一樣一樣開始學習
sed使用上是可以成功的,但我還沒學到這一塊^^
十分感謝您指導,體諒初學者
|
|
2007-11-5 21:33 |
|
|