Articles of sed

Melhor maneira de renomear arquivos com base em vários padrões

muitos arquivos que eu baixei têm porcaria / spam em seus nomes de arquivos, por exemplo [ www.crap.com ] file.name.ext www.crap.com – file.name.ext Eu criei duas maneiras de lidar com elas, mas as duas parecem bem desajeitadas: com expansão de parâmetro: if [[ ${base_name} != ${base_name//\[+([^\]])\]} ]] then mv -v “${dir_name}/${base_name}” “${dir_name}/${base_name//\[+([^\]])\]}” && base_name=”${base_name//\[+([^\]])\]}” fi […]

Como posso deletar linhas duplicadas em um arquivo no Unix?

Existe uma maneira de excluir linhas duplicadas em um arquivo no Unix? Eu posso fazer isso com os comandos sort -u e uniq , mas eu quero usar sed ou awk . Isso é possível?

Combinando dois comandos sed

Eu tenho um arquivo r . Eu quero replace as palavras File e MINvac.pdb com nada. Os comandos que usei são sed -i ‘s/File//g’ /home/kanika/standard_minimizer_prosee/r e sed -i ‘s/MINvac.pdb//g’ /home/kanika/standard_minimizer_prosee/r Eu quero combinar os dois comandos sed em um, mas eu não sei o caminho. Alguém pode ajudar? O arquivo se parece com isto: -6174.27 […]

Erro RE: sequência de bytes ilegal no Mac OS X

Eu estou tentando replace uma seqüência de caracteres em um Makefile no Mac OS X para cross-compiling para iOS. A string tem aspas duplas incorporadas. O comando é: sed -i “” ‘s|”iphoneos-cross”,”llvm-gcc:-O3|”iphoneos-cross”,”clang:-Os|g’ Configure E o erro é: sed: RE error: illegal byte sequence Eu tentei escaping aspas duplas, vírgulas, traços e dois pontos sem alegria. […]

Substituição de variables ​​de ambiente em sed

Se eu executar esses comandos a partir de um script: #my.sh PWD=bla sed ‘s/xxx/’$PWD’/’ … $ ./my.sh xxx bla está bem. Mas, se eu correr: #my.sh sed ‘s/xxx/’$PWD’/’ … $ ./my.sh $ sed: -e expression #1, char 8: Unknown option to `s’ Eu li em tutoriais que para replace variables ​​de ambiente do shell você […]

Como usar variables ​​em um comando no sed?

Eu tenho abc.sh : exec $ROOT/Subsystem/xyz.sh Em uma checkbox Unix, se eu imprimir echo $HOME , recebo /HOME/COM/FILE . Eu quero replace $ROOT por $HOME usando sed. Saída esperada: exec /HOME/COM/FILE/Subsystem/xyz.sh Eu tentei, mas não estou obtendo a saída esperada: sed ‘s/$ROOT/”${HOME}”/g’ abc.sh > abc.sh.1 Adição: Se eu tiver abc.sh exec $ROOT/Subsystem/xyz.sh $ROOT/ystem/xyz1.sh depois com […]

Como mesclar todas as duas linhas em uma a partir da linha de comando?

Eu tenho um arquivo de texto com o seguinte formato. A primeira linha é a “CHAVE” e a segunda linha é a “VALOR”. KEY 4048:1736 string 3 KEY 0:1772 string 1 KEY 4192:1349 string 1 KEY 7329:2407 string 2 KEY 0:1774 string 1 Eu preciso do valor na mesma linha da chave. Então a saída […]

sed editar o arquivo no lugar

Eu estou tentando descobrir se é possível editar um arquivo em um único comando sed sem manualmente o streaming de conteúdo editado em um novo arquivo e, em seguida, renomear o novo arquivo para o nome do arquivo original. Eu tentei a opção -i mas meu sistema Solaris disse que -i é uma opção ilegal. […]

Como remover as linhas que aparecem no arquivo B de outro arquivo A?

Eu tenho um arquivo grande A (que consiste em e-mails), uma linha para cada e-mail. Eu também tenho outro arquivo B que contém outro conjunto de e-mails. Qual comando eu usaria para remover todos os endereços que aparecem no arquivo B do arquivo A. Então, se o arquivo A continha: A B C e o […]

Ferramenta de bash para obter a enésima linha de um arquivo

Existe uma maneira “canônica” de fazer isso? Eu tenho usado a head -n | tail -1 head -n | tail -1 que faz o truque, mas eu tenho me perguntado se há uma ferramenta Bash que especificamente extrai uma linha (ou um intervalo de linhas) de um arquivo. Por “canônico” quero dizer um programa cuja […]