да только там в конце 1 2 3 4 разные
Как выполнить кучу команд из файла
Значит условие в первом сообщении темы описано неверно.копируется только последний файл.
есть файл с набором команд
команд 6 тысяч. команды копируют выборрочно файлы из каталога в другой каталог
cp /tor/ler/or/712/14130476.txt .
Либо команда выполняется не в том каталоге, от которого прописаны пути в файле. Третий вариант -- неправильные разделители в файле (пара символов 0x0a 0x0d как в Windows)
Значит условие в первом сообщении темы описано неверно.[quote="rayden8⇓"]копируется только последний файл.
есть файл с набором команд
команд 6 тысяч. команды копируют выборрочно файлы из каталога в другой каталог
cp /tor/ler/or/712/14130476.txt .
Либо команда выполняется не в том каталоге, от которого прописаны пути в файле. Третий вариант -- неправильные разделители в файле (пара символов 0x0a 0x0d как в Windows)[/quote]
Да в конце каждой строчке стоит разделитель ^M почему то... как его убрать?
в линуксе, если открываю, отображается как "^M"
dos2unix имя_файлаили
sed -i -e 's/'"$(printf '\015')"'$//' имя_файлаили (^M нужно набирать как Ctrl+V Ctrl+M)
sed -i -e 's/^M$//' имя_файлаЗначит условие в первом сообщении темы описано неверно.[quote=bormant][quote="rayden8⇓"]копируется только последний файл.
есть файл с набором команд
команд 6 тысяч. команды копируют выборрочно файлы из каталога в другой каталог
cp /tor/ler/or/712/14130476.txt .
Либо команда выполняется не в том каталоге, от которого прописаны пути в файле. Третий вариант -- неправильные разделители в файле (пара символов 0x0a 0x0d как в Windows)[/quote]
Да в конце каждой строчке стоит разделитель ^M почему то... как его убрать?[/quote]
Попробуй:
cat file.txt|sed '/\^M//'>>file2.txtsed -i -e 's/'"$(printf '\015')"'$//' имя_файла
эта команда сработала. все Sh запустилось. вроде копируется
Да в конце каждой строчке стоит разделитель ^M почему то... как его убрать?
На будущее, выкиньте кривой Блокнот и сохраняйте нормальным редактором сразу в unix-формате.
В этой части он полностью следует правилам своей платформы -- разделителем строк в DOS/Windows является пара CR LF (0x0a 0x0d).кривой Блокнот
да. тоже прочитал сейчас.... автоматически ставятся разделители....Все скопировалось. команда работает. спасибо большое
Если вам интересен Linux, имеет смысл изучать документацию, как присутствующую в системе, так и в сети. А то из-за одной команды целая тема ;-) Эту же задачу можно решить и более эффективным способом. Почитайте "Искусство написания bash-скриптов".