Извлечение чисел с плавающей запятой из имени файла

Я считаю, что вы должны размещать строки НАД чем-либо в файле .cshrc, потому что в противном случае он не позволит вам выполнять sftp, ftp или что-то еще, потому что это интерактивная оболочка:

Эти ошибки обычно вызваны командами в файле управления запуском оболочки. (.cshrc, .profile, .bashrc и т. д.), которые производят вывод в Терминал. Этот вывод мешает обмену данными между SSH. демон и подсистема sftp-server. Примеры таких команд может быть дата или эхо. Если вы используете команду mail для проверки почты, она тоже может вызвать ошибку. Чтобы решить эту проблему, вы должны поместить любые команды, которые будут вывод в условном операторе, который выполняется только в том случае, если оболочка интерактивна. (ВСЕ ИСПРАВЛЕНИЯ ДОЛЖНЫ БЫТЬ НАЗАД в управляющих файлах рассматриваемой оболочки.

Брайан Бейкер

1
09.01.2017, 20:39
1 ответ

Вот что я бы сделал:
sed -E 's / [A-Za-z _] / / г; с /. {1,} $ //; s / ^ {1,} ([0-9]) / \ 1 / '

Пример:

echo "A_b0.5_c0.654_d0.157_e1.6.out" | sed -E 's/[A-Za-z_]/ /g;s/. {1,}$//;s/^ {1,}([0-9])/\1/'
0.5  0.654  0.157  1.6

Кто-то с более высокими навыками sed может произвести лучший один.

1
27.01.2020, 23:46

Теги

Похожие вопросы