#Ver a linha antes da linha correspondente
arquivo de gato .txt | grep ' 5 ' -B1
#Ver as próximas duas linhas que correspondem à linha
arquivo de gato .txt | grep ' 5 ' -A2
#Ver duas linhas antes e depois da linha correspondente
arquivo de gato .txt | grep ' 5 ' -C2
#Ver o conteúdo entre duas strings (válido apenas em uma linha)
arquivo cat .txt <python> 123456789 </python> arquivo cat .txt | grep -E " <python>. * </python> " | awk ' {t = $ 0; gsub (/.* <python> | <\ / python>. * /, "", t); print t} ' > new_file.txt cat new_file.txt 123456789
#Ver o conteúdo entre duas strings (válido em várias linhas)
arquivo cat .txt begin ok start 1 , 2 4 67 stop end ok # 想要 begin ok 到 end ok 内容 的 内容 # ! / bin / sh begin_num = ` cat -n file .txt | grep -rin ' começam ok ' arquivo .txt | awk -F: ' {print $ 1} ' ' begin_string = ` arquivo cat -n .txt | grep -rin ' começam ok ' arquivo .txt | awk -F: ' {print $ 2} ' ' begin_add1_num = $ (($ begin_num + 1 )) end_num = ` arquivo cat -n .txt | grep -rin ' final ok ' arquivo .txt | awk -F: ' {print $ 1} ' ' end_string = ` arquivo cat -n .txt | grep -rin ' final ok ' arquivo .txt | awk -F: ' {print $ 2} ' ' end_add1_num = $ (($ end_num- 1 )) #Corte a sequência após o primeiro começo ok da esquerda para a direita eco $ {begin_string # * begin ok} sed -n " $ {begin_add1_num}, $ {end_add1_num} p " arquivo .txt # Da direita para a esquerda Intercepte a primeira / depois da string echo $ {end_string% end ok *}
O resultado:
iniciar 1 , 2 4 67 parar
#Excluir uma parte do conteúdo no arquivo
#! / bin / sh enquanto linha de leitura fazer echo " $ {line} " #指定行号 para_num = ` grep -rin " $ {line} " arquivo .txt | awk -F " : " ' {print $ 1} ' ' echo " : $ {para_num} " para_up_num = $ (($ {para_num} - 2 )) para_dow_num = $ (($ {para_num} + 2 )) eco $ {para_up_num} $ {para_dow_num} sed -i "$ {para_up_num}, $ {para_dow_num} d " arquivo .txt concluído < config.conf echo " todas as tabelas são processadas " #Description : Tente ser único no arquivo de configuração config.conf, apenas uma linha pode ser configurada no arquivo
#Modifique uma linha de conteúdo especificada no arquivo
#! / Bin / SH o tempo Leia Linha fazer echo " $ {} Linha " para_old = ` grep -ri " $ {} Linha " Arquivo .txt` números # linha para_num =` grep -rin " $ {} Linha " Arquivo .txt | awk -F " : " ' {print $ 1} ' ' echo " Linha de especificação de parâmetro: $ {para_num} " echo " O valor do parâmetro antes da substituição: $ {para_old} " para_1 = "<para>" para_2 = " \ $ (bizDate) 1 \ "SUBSTR (DEFAULT_DT, 1,4) || SUBSTR (DEFAULT_DT, 6,2) || SUBSTR (DEFAULT_DT, 9,2) \" null \ $ (bizDate) </ para> " para_new = " $ {$ {Linha para_1}}} $ {para_2 " Sed -i " $ C $ {} {para_num para_new} " arquivo .txt echo " valor do parâmetro após a substituição: $ para_new {} " DONE < config.conf echo " Todas as tabelas são processadas " #Description : Tente ser o mais exclusivo possível no arquivo de configuração config.conf. Somente uma linha pode ser configurada no arquivo, onde para_1 e para_2 são o conteúdo dessa linha