Comando sed para excluir linhas em um arquivo
- 2453
- 93
- Howard Fritsch
Na maioria dos casos, quando você está trabalhando com um arquivo de texto, é provável que tenha alguns espaços em branco. Esses espaços em branco podem variar de alguns caracteres a várias linhas que estão vazias ou não têm informações. Manter esses arquivos com espaços desnecessários pode ser demorado e inconveniente. Pode haver várias razões para manter esses arquivos, mas a melhor maneira de lidar com eles é excluir as linhas que estão vazias. Este artigo explora o comando Unix sed e seu uso na exclusão de linhas vazias em um arquivo.
O que é sed?
SED significa editor de fluxo. É um editor de linha de comando não interativo. É usado principalmente para editar e filtrar arquivos. O SED é mais frequentemente usado em scripts, onde é usado para editar um único arquivo ou vários arquivos sequencialmente. O SED pode ser usado para executar uma sequência de ações de edição em um único arquivo ou em um grupo de arquivos. Ele pode ser usado para excluir linhas e palavras em um arquivo, substituir palavras e até adicionar texto em locais específicos em um arquivo.
Neste tutorial, você aprenderá sobre o comando linux sed para excluir linhas de um arquivo com base em argumentos. Lembre -se de que o comando padrão não faz alterações no arquivo original. Se você deseja remover arquivos no mesmo arquivo, use '-i' opções com comandos.
1. Exclua a primeira linha do arquivo
Você pode usar o '1d' opção para excluir a primeira linha do arquivo. Por exemplo, você tem um arquivo CSV e deseja remover a linha de título. Use o seguinte comando para excluir a primeira linha com sed.
sed '1d' file_name
Aqui '1' representar para a primeira linha e o 'D' é usado para excluir. Então, combinando o '1d' exclui a primeira linha do arquivo. Veja o exemplo abaixo:
Exemplo de comando sed para excluir a primeira linha do arquivoVocê pode ver que o 'sed'
O comando excluiu a primeira linha da saída.
2. Exclua a última linha do arquivo
Use o parâmetro de garantia de comando '$ d' com sed para excluir a última linha ou linha de rodapé de uma multa. O comando a seguir excluirá a última linha do arquivo_name.Arquivo CSV.
sed '$ d' file_name
No comando acima '$'
representar a última linha do arquivo e 'D'
é excluir essa linha.
3. Exclua uma linha específica por número
Você pode especificar o número da linha seguido por 'D'
Para excluir essa linha específica. Por exemplo, para excluir o 5º arquivo do arquivo, execute:
sed '5d' file_name.CSV
4. Exclua a gama de linhas
O SED também permite remover uma variedade de linhas do arquivo. Podemos especificar a linha de partida e o número da linha de extremidade com um comando separado. Vamos ver o exemplo abaixo:
sed '2,5d' file_name
O comando acima excluirá o número da linha de 2 a 5 do arquivo especificado.
5. Exclua linhas que não sejam a primeira linha
Use a negação (!) Operador com opção D no comando sed. O seguinte comando sed remove todas as linhas, exceto a linha do cabeçalho.
sed '1!d 'file_name
6. Exclua linhas que não sejam a última linha
Use a negação (!) Operador com opção D no comando sed. O seguinte comando sed remove todas as linhas, exceto a linha do cabeçalho.
sed '$!d 'file_name
7. Excluir linhas diferentes do intervalo especificado
Use a negação (!) Operador com opção D no comando sed. O seguinte comando sed remove todas as linhas, exceto a linha do cabeçalho.
sed '2,5!d 'file_name
8. Exclua o primeiro e a última linha
sed '1d; $ d' file_name
9. Exclua linhas vazias ou linhas em branco
O comando sed pode ser usado para excluir linhas vazias em um arquivo de texto. Para fazer isso, você pode usar o seguinte comando:
sed '/^$/d' file_name
O comando acima exclui todas as linhas vazias do arquivo especificado. Qualquer linha contém um único espaço não é considerado como uma linha única.
10. Excluir linhas que começam com o personagem especificado
números sed '/^t/d'.CSV
11. Excluir linhas que terminam com o personagem especificado
números sed '/t $/d'.CSV
12. Excluir linhas que contêm um padrão
números sed '/padrão/d'.CSV
Conclusão
Sempre há necessidade de limpar os arquivos de texto antes de processamento adicional, pois eles podem ter caracteres indesejados, como Tab, Newline, Space, etc. O SED oferece várias maneiras de excluir linhas, palavras ou até caracteres de um arquivo. Basta colocar a operação desejada no prompt de comando e você terminou!
- « Como imprimir uma lista sem colchetes em Python
- Comando do RSYNC para excluir arquivos e diretórios um guia final »