Você pode usar sed
(editor de fluxo) para imprimir linhas seletivamente por número, por exemplo,
sed -n '7,9p;17,18p' oldfile > newfile
Gostaria de saber se é possível copiar o número de linha 7,8,9 e 17,18 de um arquivo de texto para outro?
Muito obrigado antecipadamente !!!
Você pode usar sed
(editor de fluxo) para imprimir linhas seletivamente por número, por exemplo,
sed -n '7,9p;17,18p' oldfile > newfile
você deve não confiar na ordem das linhas em um arquivo, porque ele pode mudar (se for um arquivo de sistema, um arquivo temporário ecc. e é atualizado).
Você pode usar o grep ou uma de suas variantes, por exemplo, rgrep:
rgrep WordOrRegularExpressionToMatch "Name_of_the_file"
Depois de ver que a impressora de linhas está correta, você pode usar:
rgrep WordOrRegularExpressionToMatch "Name_of_the_file" >> "Name_of_the_second_file"
Ele irá anexar as linhas impressas pelo rgrep ao segundo arquivo; para substituir o uso ">" e não "> >".
Se você realmente quiser extrair um conjunto preciso de linhas , pode usar "sed":
sed -n -e 7,9p -e 17,18p "Name_of_the_file"
(estes são dois intervalos separados)
Então ...
sed -n -e 7,9p -e 17,18p "Name_of_the_file" > "Another_file_to_overwrite"
( > > para anexar >
Copiar & amp; cole a linha: ele fará o trabalho. :-)
" man sed " lhe dará mais ajuda.
Tenha um bom dia!
Se você sabe quantas linhas existem no seu arquivo fonte (wc -l), você pode fazer isso .. assumir 12000 linhas e você quer linhas 2000 - 7000 em seu novo arquivo (total de 5000 linhas).
cat myfile | tail -10000 | head -5000 > newfile
Leia as últimas 10 mil linhas, depois leia as primeiras 5 mil linhas a partir disso.