Вариация на тему ответа anderson-m-gomes. Используя Bash, я бы просто посетил каталоги:
$ cd /path/to/source/directory
$ cd /path/to/destination/directory
Затем я бы использовал переменную $OLDPWD, которая указывает на предыдущий каталог:
$ cp -v $OLDPWD/file1.txt .
Если нужно посетить каталоги в обратном порядке, то:
$ cp -v fileA.txt $OLDPWD/
Использованиеperl
:
perl -pe 's#(?<=.)(?=http://)#\n#g' url_file
Пояснение
При этом используется положительный просмотр вперед , чтобы найти подстроки, начинающиеся с http://
, и поместить перед ними новую строку (\n
).
Он также использует положительный просмотр назад для сопоставления только тогда, когда перед http://
есть символ. Таким образом, новая строка не вставляется перед первым URL-адресом в строке. Это будет очень удобно, если у вас будет несколько строк.
Обновление
До потрясающего комментария @steeldriver просмотр назад не использовался, и я полагался на sed '1d'
, чтобы удалить первую строку.
Вы можете использовать эту команду GNU sed
:
sed 's,http://,\n&,g' url_file | tail -n +2
Он ищет шаблон http://
и вставляет перед ним CR.
tail -n +2
пропускает первую (пустую )строку, вставленную этой командой sed.
Вот как это сделать внутриPOSIX sed
:
$ sed -e '
s|http://|\
&|2;P;D
' input.file
Это помещает новую строку перед второй http://
подстрокой, которая будет найдена в текущей строке. Затем мы выполняем действие «print upto 1st newline, chop upto 1st newline, rinse & repeat
» до тех пор, пока не закончится пространство шаблона. Когда остается только 1 http ://, подстановка ничего не делает, и это последнее действие печати и удаления для текущей записи.
Вы можете использовать Perl
массивы для выполнения задания:
perl -F'http:\/\/' -lane 'print "http://$_" for @F[1..$#F]' input.file
Первое поле $F[0]
пусто, поэтому при печати оно пропускается.
Я сделал тремя способами ниже
python
#!/usr/bin/python
import re
k=open('filename','r')
for i in k:
print re.sub("http","\nhttp",i)
perl
perl -pne "s/http/\nhttp/g" filename
sed command
sed "s/http/\n&/g" filename
выход
http://transfer.sh/PIGfk/my-file.002554
http://transfer.sh/Ep9Md/my-file.002555
http://transfer.sh/Ep9Md/my-file.002556
http://transfer.sh/Ep9Md/my-file.002557