Estou usando sed
um loop while para remover os espaços em branco à direita de um arquivo que contém uma lista de arquivos. Os espaços em branco estão sendo removidos. Mas estou recebendo a mensagem sed:no input files
.
A seguir está o loop while que estou usando:
while IFS= read -r line;
do
echo "tester: $line"
sed -i 's/\s*$//' $line ;
done < file_list.txt
Como Ipor e glenn disseram, com base em seu relatório do comentário de B Layer sobre
tail -1 file_list.txt
, uma vez que há uma linha em branco no final desse arquivo, quando owhile
loop lê essa linha em branco, a$line
variável recebe um valor vazio, deixando nenhum nome de arquivo parased
processar.A correção aqui é excluir a linha em branco à direita de file_list.txt ou agrupar um teste em torno de seu processamento real para testar a existência do arquivo:
e sempre cite suas variáveis !
Tive o mesmo problema, para mim foi porque não passei o arquivo de entrada para sed CMD
Exemplo: