Número de linha de cópia do terminal do Ubuntu N de um arquivo para outro

1


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 !!!

    
por yyyzzz 06.10.2013 / 18:56

3 respostas

3

Você pode usar sed (editor de fluxo) para imprimir linhas seletivamente por número, por exemplo,

sed -n '7,9p;17,18p' oldfile > newfile
    
por steeldriver 06.10.2013 / 19:08
0

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!

    
por Lorenzo Ancora 06.10.2013 / 19:15
-2

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.

    
por krishna kaanthh 06.10.2013 / 19:01