若跌破文本我的文件conatins一個特定的字符串:獨自找到使用Windows批處理腳本
sampleA1xxx sampleA2yyyy sampleA3zzzzz ... sampleA4hhhhh
我想找到sampleA4和使用Windows批處理腳本顯示sampleA4hhhh。
那是我的輸出應該是:sampleA4hhhhh
任何人都可以請幫助我。
若跌破文本我的文件conatins一個特定的字符串:獨自找到使用Windows批處理腳本
sampleA1xxx sampleA2yyyy sampleA3zzzzz ... sampleA4hhhhh
我想找到sampleA4和使用Windows批處理腳本顯示sampleA4hhhh。
那是我的輸出應該是:sampleA4hhhhh
任何人都可以請幫助我。
採取分批或GNUWin sed看看:
>type file ^^sampleA1xxx ^^sampleA2yyyy ^^sampleA3zzzzz ^^sampleA4hhhhh >sed -r "s/.*(\b\w+4\w+)/\1/" file sampleA4hhhhh
@echo off
setlocal EnableDelayedExpansion
set target=sampleA4
set len=8
for /F "delims=" %%a in ('findstr "%target%" theFile.txt') do (
for %%b in (%%a) do (
set word=%%b
if "!word:~0,%len%!" equ "%target%" (
echo !word:~%len%!
)
)
)
@ECHO OFF
SETLOCAL
FOR /f "delims=" %%i IN (q17316008.txt) DO SET line=%%i
SET line=%line:^= %
SET line=%line:*sampleA4=sampleA4%
FOR %%i IN (%line:^^= %) DO SET line=%%i&GOTO :done
:done
ECHO %line%
GOTO :EOF
這應當做什麼,我收集是任務。它假設"samplea4"
字符串存在於文件的單行中,不區分大小寫,並且該行不超過線路長度的〜8K限制。
只需用空格替換插入符號,將前導字符切換爲目標字符串的第一個匹配項,然後將該目標字符串作爲列表處理;第一個元素將是必需的字符串,因此在處理可用時停止處理。
據我所知,除非有某種一致性,例如分隔所有樣品的普通字母(這包括一個空格),這是不可能的。注意,如果每個案例都是「A [編號]」,那麼它可能是可能的,但是如果沒有一致性,那麼它不是。 – Monacraft
^^ sampleA1xxx ^^ sampleA2yyyy ^^ sampleA3zzzzz ^^ sampleA4hhhhh如果是這種情況,那麼有^^符號總是將每個實體分隔開來......現在有可能... – rvp