Use sed
:
sed "s/.*/'&','&'/" filename
s/foo/bar
substitui foo
por bar
. .*
corresponde à linha inteira, &
na seção de substituição insere toda a correspondência.
Eu tenho um arquivo. Eu quero adicionar '
na linha de evry begin.also após a primeira palavra completa eu quero colocar '
novamente e, em seguida, ,
depois que eu quero repetir a mesma primeira palavra em 'same word'
. Como posso fazer isso?
por exemplo.
abc
xyz
pqr
mno
será convertido em
'abc','abc'
'xyz','xyz'
'pqr','pqr'
'mno','mno'
Eu tenho milhares dessas linhas. Como posso conseguir isso? Eu estou usando o Ubuntu 16.04.
Estou recebendo a saída conforme mostrado abaixo.
Oqueeuqueroé:
Atenciosamente.
Use sed
:
sed "s/.*/'&','&'/" filename
s/foo/bar
substitui foo
por bar
. .*
corresponde à linha inteira, &
na seção de substituição insere toda a correspondência.
Você já recebeu uma resposta sed
. Aqui estão algumas alternativas:
awk
: definindo aspas simples como variável q
(para legibilidade) e out
como o registro entre aspas simples e, em seguida, imprimindo out
com a formatação desejada:
awk -v q="'" '{out=q$0q; print out","out}'
bash
: Lendo cada linha, configurando a variável out
para conter a linha entre aspas simples e, finalmente, imprimindo no formato desejado:
while IFS= read -r line; do out="'$line'"; printf '%s,%s\n' "$out" "$out"; done
python
: Lendo cada linha e imprimindo no formato desejado usando print()
function:
#!/usr/bin/env python3
with open('file.txt') as f:
for line in f:
line = line.rstrip()
print("'{}','{}'".format(line, line))
perl
: Substituindo cada linha ( .*
) pela formatação adequada, $&
na substituição representa a parte correspondida, neste caso, a linha inteira:
perl -pe "s/.*/'$&','$&'/"
Exemplo:
% cat file.txt
abc
xyz
pqr
mno
% awk -v q="'" '{out=q$0q; print out","out}' file.txt
'abc','abc'
'xyz','xyz'
'pqr','pqr'
'mno','mno'
% while IFS= read -r line; do out="'$line'"; printf '%s,%s\n' "$out" "$out"; done <file.txt
'abc','abc'
'xyz','xyz'
'pqr','pqr'
'mno','mno'
% perl -pe "s/.*/'$&','$&'/" file.txt
'abc','abc'
'xyz','xyz'
'pqr','pqr'
'mno','mno'
Tags command-line files