ファイルから文字列の先頭を検索して変数を保存する方法

ファイルから文字列の先頭を検索して変数を保存する方法

ファイルから文字列を取得する方法を見つけようとしています。ファイルを検索してファイルを検索し、ファイルの行が私が検索したもので始まる場合は、行全体を次のように保存する必要があります。変数を使用して他のコマンドを実行できます。

私はこれをPythonとして試しましたが、bashで方法を探したいと思います。

def f(inputpara,substringpara):
   temp_log=""
   for item in inputpara.split("\n"):
    if  substringpara in item :
             temp_log=item.strip()
  return  temp_log

おかげで成功できました。

IFS=$'\n' lines=( $(grep 'string*' textout.txt) )

    for i in "{lines[@]}"
            do
             echo ${lines[@]}
    done

ベストアンサー1

行の先頭を検索する文字列grepと結果を格納する配列:

IFS=$'\n' lines=( $(grep '^string' file.txt) )
  • grep '^string' file.txtstringファイル行の先頭から文字列を検索file.txt

  • 配列にはlines一致する行が含まれており、各行IFS=$'\n'が配列要素になります。

これで、通常の配列操作を使用して結果を繰り返すことができます。

たとえば、見つかった行数を見つけるには、次のようにします。

${#lines[@]}

最初の要素:

${lines[0]}

2番目の要素:

${lines[1]}

ループを使用して要素を繰り返しますfor

for i in "{lines[@]}"; do ....; done

おすすめ記事