次のリンクを含むファイルがあります。
http://domain.com/file_name1.mkv
http://domain.com/file_name2.mkv
http://domain.com/file_name3.mkv
...など。
各リンクごとに.strm拡張子を持つファイルを作成し、各ファイルにファイル名を持ち、そのファイルへのリンクを含めたいと思います。したがって、最初のリンクの場合、最初のファイル名はfile_name1.strmになり、最初のリンクを含み、2番目のリンクの場合、ファイル名はfile_name2.strmになり、2番目のリンクを含む式です。どうすればいいですか?
近い操作を実行するコマンドがありますが、ファイル内の単語名でのみファイルを生成します。
sed -e 's/$/.strm/' file | xargs -d '\n' touch
ベストアンサー1
xargs
試みを詳しく説明してください。
xargs -L1 sh -c 'f="${0##*/}"; printf "%s\n" "$0" > "${f%.*}.strm"' < file
最初の置換はf="${0##*/}"
URLのパスコンポーネントを削除し、2番目の置換は"${f%.*}.strm"
拡張子を削除して置き換えます。
前任者。
$ xargs -L1 sh -c 'f=${0##*/}; printf "%s\n" "$0" > "${f%.*}.strm"' < file
$ head *.strm
==> file_name1.strm <==
http://domain.com/file_name1.mkv
==> file_name2.strm <==
http://domain.com/file_name2.mkv
==> file_name3.strm <==
http://domain.com/file_name3.mkv