2016-11-20 14 views
0

Я пишу сценарий bash, где я хочу использовать вывод grep ниже «» в ссылке, которую я создаю.Используйте grep-вывод как каталог ln -s

echo [super-shows]Super.Show.S06.1080p.BluRay.DD-EX.5.1.x264 | grep -oP '(?<='S')\d{2}(?=\.)' 

ln -s /home/Download/[super-shows]Super.Show.S06.1080p.BluRay.DD-EX.5.1.x264 /home/Media/TV/Super.Show/**06** 

ответ

1

Это легко с помощью xargs, Propably что Allready установлен, если я не уверен, что он доступен в менеджере пакетов для каждого дистрибутива.

echo "[super-shows]Super.Show.S06.1080p.BluRay.DD-EX.5.1.x264" | grep -oP '(?<='S')\d{2}(?=\.)' | xargs -I{} ln -s /home/Download/[super-shows]Super.Show.S06.1080p.BluRay.DD-EX.5.1.x264 /home/Media/TV/Super.Show/**{}** 
+0

Спасибо! Прекрасно работает! Если бы я хотел использовать grep для эха Super.Show, как я могу изменить regexp, чтобы сделать это? – angelsen

+1

если вам нравится ответ, пожалуйста, воздержитесь и примите его. – zabeltech

+1

@angelsen '' 'echo '[супер-шоу] Super.Show.S06.1080p.BluRay.DD-EX.5.1.x264" | grep -oP '(? <='] '). * \ d {2} (? = \.)' '' 'например, выводит' '' Super.Show.S06''', вы можете легко поиграть с это для ваших нужд – zabeltech