功能:把 ABC.TXT 的內容中文字"keyword"以上所有行內容擷取,以下行內容皆排除。擷取出來存至另一份文件OK.TXT。(注意:ABC.TXT中keyword這一行內容可能是:keyword1122xxx、keywordzzzz,不會只是單純keyword)
我用for /f方式去run,但keyword的判斷不知道要如何改寫,我用不合法的寫法: %i:~0,7%
煩請各位高手幫幫忙,謝謝。
for /f "delims=" %%i in (ABC.TXT) do (
if keyword==%i:~0,7% (set k=%i:~0,7%
echo %k%>>"OK.TXT"
goto getout) else (echo %%i>>"OK.TXT")
)
:getout
你的需求如果是在 Linux 裡,用 sed 做就太 ..... 簡單了。
請去抓一個 UnxUtils 工具包
http://sourceforge.net/projects/unxutils/
裡面有個 usr\local\wbin\sed.exe 拿出來用。
只要下
sed "1,/keyword.*/!d" ABC.txt > OK.txt
就是你要的結果了
elliott提到:
keyword的判斷不知道要如何改寫
keyword的判斷===>可以用一個又一個的字元來判斷。