Eu tenho um arquivo como o seguinte:
1234
ABCD
EFGH
Gostaria de convertê-lo para o seguinte:
2341
BCDA
FGHE
O arquivo real tem 4.000 palavras, então eu gostaria de fazer isso de maneira eficiente. Tentei usar o comando cut -c 2-4,1 file.txt
, mas ele produz a mesma saída exata que a entrada. Eu estava pensando em usar 3 comandos diferentes:
cut -c 1 file.txt > temp1.txt
cut -c 2-4 file.txt > temp2.txt
// combine the two with paste or pr
... mas eu preferiria um único comando porque preciso executá-lo várias vezes com pequenas modificações, portanto, executar um comando é menos propenso a erros do que executar 3 comandos por vez.
Existe alguma maneira de combinar as duas instruções de corte em uma? Algo como:
cut -c 1 file.txt | pr (cut -c 2-4 file.txt)
Ou há uma maneira melhor de fazer isto?
text-processing
cut
Sensível
fonte
fonte
-d ''
em vez de--delimiters=''
reutilizar personagens da lista em vez de OATSe você usar o bash, use a indexação de string da expansão de parâmetro :
fonte
Você pode alterar o separador via "-F" de acordo com seus dados e organizar a ordem dos campos arbitrariamente.
fonte
Aqui está uma maneira de
perl
:Divida automaticamente nos limites das letras, gire um para a esquerda e imprima.
fonte
Eu encontrei uma alternativa em uma maneira de script:
O script corta as cadeias em arquivos separados. Em seguida, junte-se a um novo arquivo (file4.txt) e, finalmente, remova os arquivos sobressalentes.
a solução llua é mais limpa para o meu gosto.
fonte
Você já tentou rev?
~$ cat filename | rev
fonte