8 Quero inserir 5 linhas em branco após cada linha no meu arquivo de entrada. foo.txt: line 1 line 2 line 3 out.txt: line 1 line 2 line 3 ... Solaris 5.10 nawkou sed. sed awk solaris Ayrton Senna fonte Veja também Como posso dobrar as novas linhas em um fluxo de saída ... don_crissti Respostas: 12 Esse é o trabalho para sed: sed -e 'G;G;G;G;G' file Com awk: nawk -vORS='\n\n\n\n\n\n' 1 file Ou versão mais curta: awk 'ORS="\n\n\n\n\n\n"' file ou evite definir ORSpara cada linha de entrada: awk 'BEGIN{ORS="\n\n\n\n\n\n"};1' file cuonglm fonte Ou esta variante:awk 'ORS="\n\n\n\n\n\n"' Janis Ou esta variante:sed 's/$/\n\n\n\n\n/g' file Dani_l 7/15 @Dani_l: Funciona apenas no GNU sed cuonglm @cuonglm não sabia disso, obrigado pela informação. Qual parte é específica do GNU? o \ n em substituição? Dani_l @Dani_l: Sim, \nna peça de substituição de s///. cuonglm 0 Outro, com printf cat file.txt | xargs printf "%s\n\n\n\n\n" Para enviar isso para um arquivo (cat file.txt | xargs printf "%s\n\n\n\n\n") > out.txt Sergiy Kolodyazhnyy fonte 0 Você pode querer usar nlisso também. Me vem à mente porque, quando faço coisas assim, geralmente acho útil reter os números de linha originais. eval "nl -ba -s'$(printf "\n\n\n\n\n'")" <infile Também pré especificado para o-d argumento oublespace - que dobrará todas as novas linhas na entrada na saída. Mas também sedé bom. mikeserv fonte
12 Esse é o trabalho para sed: sed -e 'G;G;G;G;G' file Com awk: nawk -vORS='\n\n\n\n\n\n' 1 file Ou versão mais curta: awk 'ORS="\n\n\n\n\n\n"' file ou evite definir ORSpara cada linha de entrada: awk 'BEGIN{ORS="\n\n\n\n\n\n"};1' file cuonglm fonte Ou esta variante:awk 'ORS="\n\n\n\n\n\n"' Janis Ou esta variante:sed 's/$/\n\n\n\n\n/g' file Dani_l 7/15 @Dani_l: Funciona apenas no GNU sed cuonglm @cuonglm não sabia disso, obrigado pela informação. Qual parte é específica do GNU? o \ n em substituição? Dani_l @Dani_l: Sim, \nna peça de substituição de s///. cuonglm 0 Outro, com printf cat file.txt | xargs printf "%s\n\n\n\n\n" Para enviar isso para um arquivo (cat file.txt | xargs printf "%s\n\n\n\n\n") > out.txt Sergiy Kolodyazhnyy fonte 0 Você pode querer usar nlisso também. Me vem à mente porque, quando faço coisas assim, geralmente acho útil reter os números de linha originais. eval "nl -ba -s'$(printf "\n\n\n\n\n'")" <infile Também pré especificado para o-d argumento oublespace - que dobrará todas as novas linhas na entrada na saída. Mas também sedé bom. mikeserv fonte
0 Outro, com printf cat file.txt | xargs printf "%s\n\n\n\n\n" Para enviar isso para um arquivo (cat file.txt | xargs printf "%s\n\n\n\n\n") > out.txt Sergiy Kolodyazhnyy fonte
0 Você pode querer usar nlisso também. Me vem à mente porque, quando faço coisas assim, geralmente acho útil reter os números de linha originais. eval "nl -ba -s'$(printf "\n\n\n\n\n'")" <infile Também pré especificado para o-d argumento oublespace - que dobrará todas as novas linhas na entrada na saída. Mas também sedé bom. mikeserv fonte
Respostas:
Esse é o trabalho para
sed
:Com
awk
:Ou versão mais curta:
ou evite definir
ORS
para cada linha de entrada:fonte
awk 'ORS="\n\n\n\n\n\n"'
sed 's/$/\n\n\n\n\n/g' file
\n
na peça de substituição des///
.Outro, com printf
cat file.txt | xargs printf "%s\n\n\n\n\n"
Para enviar isso para um arquivo
(cat file.txt | xargs printf "%s\n\n\n\n\n") > out.txt
fonte
Você pode querer usar
nl
isso também. Me vem à mente porque, quando faço coisas assim, geralmente acho útil reter os números de linha originais.Também
pr
é especificado para o-d
argumento oublespace - que dobrará todas as novas linhas na entrada na saída.Mas também
sed
é bom.fonte