ファイルから文字列を取得する方法を見つけようとしています。ファイルを検索してファイルを検索し、ファイルの行が私が検索したもので始まる場合は、行全体を次のように保存する必要があります。変数を使用して他のコマンドを実行できます。
私はこれを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.txt
string
ファイル行の先頭から文字列を検索file.txt
配列には
lines
一致する行が含まれており、各行IFS=$'\n'
が配列要素になります。
これで、通常の配列操作を使用して結果を繰り返すことができます。
たとえば、見つかった行数を見つけるには、次のようにします。
${#lines[@]}
最初の要素:
${lines[0]}
2番目の要素:
${lines[1]}
ループを使用して要素を繰り返しますfor
。
for i in "{lines[@]}"; do ....; done