Leitura linha a linha (com espaço) do ficheiro em Unix Shell scripting - Edição
Quero ler um ficheiro linha a linha em Unix shell scripting. A linha pode conter espaços de entrada e de saída e eu quero ler esses espaços também na linha. Tentei com "enquanto lia linha" mas ler comando é remover caracteres de espaço da linha :( Exemplo se linha no ficheiro são:-
abcd efghijk
abcdefg hijk
linha deve ser lida como:-
1) "abcd efghijk" 2) " abcdefg hijk"
O que eu tentei foi isto (que não funcionou):-
while read line
do
echo $line
done < file.txt
Quero que a linha inclua caracteres de espaço e tabulação. Por favor, sugira uma forma.
18
2
Experimente isto,
EDIT:
De
man bash
Pretende ler linhas trabalho para evitar problemas de retrocesso na entrada (utilizar
-r
):Isto manterá os espaços brancos dentro da linha, mas remove os espaços brancos de chumbo e de fuga. Para manter estes também, definir o IFS vazio, como em
Isto é agora um equivalente a
cat < file.txt
desde que ofile.txt
termine com uma nova linha.Note-se que deve duplicar a citação
"$line"
para evitar que as palavras se dividam em palavras separadas - perdendo assim múltiplas sequências de espaços em branco.