Muitos bons ansers, vou adicionar o modo sed
sed 's#\n##g' file1 > file2
Alguém tem o caminho do alto da cabeça deles?
Eu quero substituir \n
por blank
Entrada file1
A\n
D\n
Saída file2
que eu quero
A
D
Eu tentei comandos abaixo, mas não consegui substituir, por favor, seja necessário.
cat OUT | tr '\n' ' '
Muitos bons ansers, vou adicionar o modo sed
sed 's#\n##g' file1 > file2
Alguém tem o caminho do alto da cabeça deles?
Uma alternativa seria levar apenas o primeiro caractere usando cut
:
$ cut -c1 < input_file
A
D
Do post:
I tried below commands but not able to replace please do needful.
cat OUT | tr '\n' ' '
O problema com o comando acima é: tr
entende \n
como "caractere de nova linha"
$ man tr | grep Interpreted -A 18
SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are:
\NNN character with octal value NNN (1 to 3 octal digits)
\ backslash
\a audible BEL
\b backspace
\f form feed
\n new line
\r return
\t horizontal tab
\v vertical tab
Portanto, para especificar \n
, é necessário especificar [barra invertida] [n], ou seja, \n
(consulte a especificação listada acima). Use o seguinte comando:
tr -s '\n' ' '
Para cat
file1
e redirecionamento ( >
) para file2
Usar:
cat file1 | tr -s '\n' ' ' > file2
Mas o problema com o uso de tr
é que ele traduz TODOS \
e n
para o espaço .
Por isso, recomendo usar sed
da seguinte forma:
Comando para sed
de substituição ( sed 's/old-string/new-string/g' in > out
):
sed 's/\n/ /g' file1 > file2
Aqui apenas \n
(palavra inteira) será convertido no espaço
Se você quiser substituir os dois caracteres \
e n
no final de cada linha por um espaço, use
sed 's/\n$/ /' < file1
Observe que sua saída de exemplo tem vários espaços após A
e um único espaço após D
, mas o comando acima sempre coloca um único espaço.
você pode tentar um truque!
Primeiro, elimine 'n' no final do arquivo:
cat "your_file.txt" | sed -e 's/\<n\>//g' > "new_file.txt"
depois, elimine o caractere "\":
cat "new_file.txt" | tr -s "\" " " > "final_file.txt"
e você terá a saída sem o \ n.
Você pode usar tr
tr -d '\n' < input_file > output_file
Tags text-processing shell