2015-01-20 4 views
1

Я использую ноутбук iPython на 16-ядерном компьютере (так есть 15 "двигателей"). Если я запускаю эту клетку ...Выполнение команд bash параллельно с использованием iPython

%%px 
%%bash 
echo 'hi' > file1.txt 

... то результат один файл с именем file1.txt, который записывается на диск в 15 раз. Я действительно хочу написать 15 разных файлов, file1.txt через file15.txt.

Я новичок во всем этом, поэтому я думаю, что есть простое решение!

Спасибо,

Retsreg

ответ

1

Баш специальная переменная $$ является PID оболочки, так что вы можете сделать это:

echo hi > file$$.txt 

Это будет записывать файлы как file3392.txt и т.д., где это PID каждого сеанса. Вы можете позже переименовать файлы, если вам нужно.

+0

Подтверждено, что это работает, огромное спасибо! Есть ли аналогичный способ получить дату и время в имени файла? – retsreg

+0

Вы можете попробовать 'file $$ _ $ (date +% F_% T) .txt'. '$()' Оценивает свой аргумент как команду и фиксирует выходную строку, и вы можете использовать любой формат, который вы хотите в команде 'date' (я выбрал стандартный). –

+0

Подтверждено, что это работает, еще раз спасибо! – retsreg

Смежные вопросы