Я попытаюсь реабилитировать чистое -решение bash, предложенное @Erwan:
while IFS= read -r link; do
filename="${link##*/}"
echo "$link" > "${filename%.mkv}.strm"
done < file
IFS= read -r
для чтения строки ${var##}
заменяет переменную с самым длинным префиксом, совпадающим с удаленным. См. «Удалить соответствующий шаблон префикса» в разделе «Расширение параметров» в bash (1 ). Есть много других полезных модификаторов расширения параметров ${var%}
заменяет переменную кратчайшим суффиксом, совпадающим с удаленным («Удалить соответствующий шаблон суффикса») kill 'cat /home/my_name/scripts/test.pid';;
Вы, вероятно, хотите, чтобы это было:
kill `cat /home/my_name/scripts/test.pid`;;
(обратные кавычки вместо одинарных кавычек)