1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

結果が複数あった時に指定した箇所のみを抽出する

Last updated at Posted at 2024-11-01

例えば複数のポートがあるときに毎回ポート番号を調べるのが面倒くさい為、いつも上から◯番目のポート番号を取得するようにしたいと思い、記述した。


# adb devices -l の結果を取得
$adbOutput = adb devices -l

# 正規表現で "abc" から始まる tranceport:数字 を探して数字を抽出
$pattern = "abc.*tranceport:(\d+)"
foreach ($line in $adbOutput) {
    if ($line -match $pattern) {
        $number = $matches[1]
        Write-Output $number
    }
}
@echo off
setlocal enabledelayedexpansion

rem コマンドの設定
set "adbCommand=adb devices -l"
rem 正規表現の設定
set "pattern=^abc.*tranceport:[0-9][0-9]*"
rem 実行するコマンドの設定(ここでは adb -t 数字 root)
set "command=adb -t !number! root"

rem adb devices -l の出力を取得して処理
for /f "tokens=*" %%A in ('!adbCommand!') do (
    set "line=%%A"
    rem 正規表現に一致する行を検索
    echo !line! | findstr /r "!pattern!" >nul
    if not errorlevel 1 (
        rem tranceport: の後の数字を抽出
        for /f "tokens=2 delims=:" %%B in ("!line:tranceport=tranceport:!") do (
            set "number=%%B"
            rem 設定したコマンドを実行
            call !command!
        )
    )
)

endlocal

powershell

# 指定するフォルダパス
$folderPath = "C:\path\to\your\folder"

# フォルダ内で最も更新日が新しいテキストファイルを取得
$latestFile = Get-ChildItem -Path $folderPath -Filter "*.txt" | Sort-Object LastWriteTime -Descending | Select-Object -First 1

if ($latestFile -ne $null) {
    # 特定の文字列を設定
    $searchString = "特定の文字列"

    # ファイルの内容を読み込んで特定の文字列の出現回数をカウント
    $content = Get-Content -Path $latestFile.FullName
    $count = ($content -join "`n") -split [regex]::Escape($searchString) | Measure-Object | Select-Object -ExpandProperty Count
    $count = $count - 1  # 最初の分割で余分な要素ができるため1を減らします

    Write-Output "ファイル: $($latestFile.Name)"
    Write-Output "文字列 '$searchString' の出現回数: $count"
} else {
    Write-Output "フォルダ内にテキストファイルが見つかりませんでした。"
}
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?