У меня нет доступа к cygwin системе, таким образом, я не могу протестировать это, но так как Вы хотите использовать Perl regexes, почему бы не использовать Perl?
perl -ne 'print "$_\n" for /.+?\.jpg/g;' file.txt
или
awk '{for(i=1;i<=NF;i++){if($(i)~/.+?\.jpg/){print $(i)}}}' file.txt
Однако я подозреваю, что Вы хотите соответствовать самой короткой строке непробельных символов тот конец в .jpg
который не является что это соответствия regex (хотя awk
решение будет работать так или иначе, так как поля разделяются на пробеле). Вы могли бы хотеть выполнить это вместо этого:
perl -ne '@a=/[^\s]+\.jpg/g; print "$_\n" for @a' file.txt
или
awk '{for(i=1;i<=NF;i++){if($(i)~/.+?\.jpg/){print $(i)}}}' file.txt
или, простой grep
:
grep -o '[^[:space:]]*.jpg' file.txt
Это похоже, ожидают, не оболочка, таким образом, это передает >>
как аргумент ssh вместо того, чтобы интерпретировать его.
Попытка удар икры-c "ssh root@ [lindex 0$argv] кошка/root/.ssh/id_rsa.pub>>/root/.ssh/authorized_keys"