リスト内の各リンクからテキストファイルを生成しますか?

リスト内の各リンクからテキストファイルを生成しますか?

次のリンクを含むファイルがあります。

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

おすすめ記事