파일에서 문자열의 시작 부분을 검색하고 변수를 저장하는 방법

파일에서 문자열의 시작 부분을 검색하고 변수를 저장하는 방법

파일에서 문자열을 검색하는 방법을 찾으려고 합니다. 파일을 검색한 다음 파일을 검색하고 파일의 줄이 내가 검색하는 내용으로 시작하면 전체 줄을 다음과 같이 저장해야 합니다. 변수를 사용하여 다른 명령을 실행할 수 있습니다.

나는 이것을 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]}

두 번째 요소:

${lines[1]}

루프를 사용하여 요소를 반복합니다 for.

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

관련 정보