como pesquisar o arquivo para o início da string e salvar uma variável

1

Eu estou tentando encontrar uma maneira de procurar um arquivo por string, ele precisa funcionar pesquisando o arquivo e se qualquer linha no arquivo começar com o que eu estou procurando, então pegue a linha inteira e salve-a como variável para que eu possa usá-la mais tarde em outro comando.

Eu tentei isso em python, mas eu quero encontrar uma maneira no bash

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

obrigado eu consegui trabalhar

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

    for i in "{lines[@]}"
            do
             echo ${lines[@]}
    done
    
por soad666p 27.06.2016 / 12:49

1 resposta

1

Use grep para encontrar a string no início da linha e uma matriz para salvar os resultados:

IFS=$'\n' lines=( $(grep '^string' file.txt) )
  • grep '^string' file.txt encontra a string string no início das linhas do arquivo file.txt

  • A matriz lines contém as linhas correspondentes, a IFS=$'\n' torna cada linha um elemento da matriz

Agora você pode iterar os resultados usando operações regulares de matriz.

Por exemplo, para encontrar o número de linhas encontradas:

${#lines[@]}

Primeiro elemento:

${lines[0]}

Segundo elemento:

${lines[1]}

Itere os elementos usando for loop:

for i in "{lines[@]}"; do ....; done
    
por 27.06.2016 / 13:03