Eu entendo que sedé um comando para manipular arquivos de texto.
No meu Google, parece que -isignifica executar a operação no próprio arquivo, isso está correto?
Que tal '1d'?
Eu entendo que sedé um comando para manipular arquivos de texto.
No meu Google, parece que -isignifica executar a operação no próprio arquivo, isso está correto?
Que tal '1d'?
Respostas:
Em sed:
-i A opção editará o arquivo de entrada no local
'1d' irá remover a primeira linha do arquivo de entrada
Exemplo:
% cat file.txt
foo
bar
% sed -i '1d' file.txt
% cat file.txt
bar
Observe que, na maioria das vezes, é uma boa idéia fazer um backup enquanto usa a -iopção para que você faça backup do arquivo original em caso de alteração inesperada.
Por exemplo, se você fizer:
sed -i.orig '1d' file.txt
o arquivo original será mantido como file.txt.orige o arquivo modificado file.txt.
sed '1d' file.txt
Imprime o conteúdo de file.txt; excluindo a primeira linha; para a saída padrão.
sed -i '1d' file.txt # GNU, NetBSD, OpenBSD
sed -i '' '1d' file.txt # FreeBSD, macOS
Imprime o conteúdo de file.txt; excluindo a primeira linha; de volta para file.txt; substituindo o original.
sed -i.back '1d' file.txt
Cria um backup do original (as file.txt.back), antes de fazer alterações. Exceto no FreeBSD sed, o sufixo (aqui .back) deve ser anexado à -iopção (no mesmo argumento, sem espaço entre -ie .back).
sed '2d' file.txt
Imprime o conteúdo de file.txt; excluindo a segunda linha; para a saída padrão.
(Especificar qualquer número removerá a linha correspondente).
Também compatível com a -ibandeira.
sed '1!d' file.txt
Imprime o conteúdo de file.txt; excluindo tudo, exceto a primeira linha; para a saída padrão.
(Em outras palavras, somente a primeira linha é impressa).
Também compatível com a -ibandeira.
sed '$d' file.txt
Imprime o conteúdo de file.txt; excluindo a última linha; para a saída padrão.
Também compatível com a -ibandeira.
Em sed -hter:
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if SUFFIX supplied)
e 'execute a operação no próprio arquivo'. é absoluto.
E mandisse: 'Sed é um editor de stream. Um editor de fluxo é usado para executar transformações básicas de texto em um fluxo de entrada (um arquivo ou entrada de um pipeline). '
como sua pergunta,
sed -i '1d' file_name
significa: excluir a primeira linha do arquivo "file_name"no local e fazer backup no arquivo. (assim como editar arquivo e excluir a primeira linha diretamente.)
-iver o que acontece primeiro e depois usar-ipara alterar o arquivo.