独自のディレクトリに、次のコンテンツを含むWINDOWSテキストファイルがあります。名前は「test.txt」です。
サンプルソースファイル - test.txt:
hxxp://url.xxx/XX/file 1.txt
hxxp://url.xxx/XX/file 2.avi
hxxp://url.xxx/XX/file 3.mpg
最初のファイルの内容は次のとおりです。
hxxp://url.xxx/file 1.txt
ファイル名は次のとおりです。
file 1.txt
私の目標は、各URLを含み、URLの「ファイル」部分に基づいて名前付きの別々のテキストファイルを作成することです。したがって、最初のものは「File1.txt.txt」、次は「File2.avi.avi」などです。実際のファイルに名前を付けることに加えて、Splitはこれを完全に行います。
答え1
これはで簡単に行われますawk
。フィールド区切り記号をに設定し、/
最後のフィールド名を持つファイルに各行を印刷します。のフィールド数は変数awk
に格納されるため、を使用して最後のフィールドを取得できます。次に、すべてのエントリにtxt拡張子を指定するには、次のものが必要です。NF
$NF
awk -F'/' '{print > $NF".txt"}' file
(あなたのコメントによると)入力ファイルにWindows行末がある場合は、最初の行末を削除する必要があります\r
。
sed 's/\r//' file | awk -F'/' '{print > $NF".txt"}'