Alterando o nome do arquivo e adicionando alguma linha nele

3

Eu tenho uma série de arquivos como abaixo:

000_0123
000_0234
000_0345
000_0456 
000_0678 
000_0890
000_01123
000_01234

Eu quero mudar os nomes para:

000_123
000_234
000_345
000_456 
000_678 
000_890
000_1123
000_1234

e quero adicionar a primeira linha em cada arquivo como " #include<conio.h> ". Alguém pode me ajudar?

    
por Avani badheka 29.09.2016 / 10:52

1 resposta

2

Para adicionar sua linha ao início de cada arquivo, você pode fazer

for i in 000*; do sed '1i#include<conio.h>' "$i"; done

1i significa inserir isto na primeira linha (antes da primeira linha existente). A primeira linha existente torna-se a linha 2. Um aviso: este comando falhará (não fará nada) por arquivos vazios.

O conteúdo de todos os arquivos com a linha adicionada aparecerá no terminal um após o outro. Se parece certo, faça novamente com -i para alterar os arquivos no lugar

for i in 000*; do sed -i '1i#include<conio.h>' "$i"; done    

Se você quiser apenas remover o 0 inicial de depois de _ , poderá usar rename para renomear os arquivos ...

rename 's/0_0/0_/' 000*
    
por Zanna 29.09.2016 / 11:59