Como organizar este arquivo corretamente?

-2

Eu prefiro editar o TestFile no lugar para obter o resultado desejado. Como eu pude fazer isso? Esta é uma caixa de trabalho, então eu prefiro não ter que instalar pacotes adicionais.

TestFile:

randomcollege-nt\jsmith90
randomcollege-nt\aakhbar91
randomcollege-nt\pmanning92
randomcollege-nt\dvader93
jshephard94
bwayne95

Saída desejada:

jsmith90
aakhbar91
pmanning92
dvader93
jshephard94
bwayne95
    
por Roboman1723 04.09.2014 / 17:55

4 respostas

6

Você pode usar sed :

sed -i~ 's/.*\//' TestFile
  • -i~ informa sed para criar um backup com a extensão ~ .
  • s/// é substituição.
  • .*\ significa qualquer coisa ( .* ) seguida por uma barra invertida
  • a peça de substituição está vazia // , ou seja, tudo até uma barra invertida será substituído por nada.
por choroba 04.09.2014 / 17:57
3

Você pode obter a saída simplesmente usando o comando cut :

cut -d '\' -f 2 < TestFile

Em que -d é usado para determinar o delimitador que é / aqui e -f para selecionar os campos que são 2 aqui.

Exemplo:

$ cat TestFile
randomcollege-nt\jsmith90
randomcollege-nt\aakhbar91
randomcollege-nt\pmanning92
randomcollege-nt\dvader93
jshephard94
bwayne95

$ cut -d '\' -f 2 < TestFile
jsmith90
aakhbar91
pmanning92
dvader93
jshephard94
bwayne95

Se você quiser salvar a saída em outro arquivo , use:

cut -d '\' -f 2 < TestFile > Output

Se você quiser sobrescrever TestFile , use o seguinte comando:

cut -d '\' -f 2 < TestFile|tee TestFile
    
por Pandya 05.09.2014 / 12:36
2

Embora duas respostas corretas tenham sido dadas, mas estou dando minha solução pessoal -

sed 's/randomcollege-nt\//g' testfile

Obrigado,

    
por saptarshi nag 06.09.2014 / 19:06
1

Esta é outra solução que usa awk :

 awk -F "\" '{print $(NF)}' testfile > outFile

em que -F define o separador do campo de entrada, em vez de print $(NF) imprimir o último campo.

outFile contém:

jsmith90
aakhbar91
pmanning92
dvader93
jshephard94
bwayne95
    
por Lety 09.09.2014 / 13:02