ファイルまたはフォルダ名を指定したときに文字を削除する

ファイルまたはフォルダ名を指定したときに文字を削除する

複数行を含むテキストファイルがあります。各行には、次の形式の日付があります。

12/2/2015
15/9/2013
08/3/2011
02/5/2005
.
.
.

次の簡単なループを使用して、forこのテキストファイルの各行のフォルダを作成したいと思います。

#!/bin/bash -f
for f in $(cat ./file.txt ); do 
mkdir ${f}
done

/日付形式の文字があるため、このコードは機能しません。フォルダを作成すると同時に、フォルダ名からその文字を削除するにはどうすればよいですか?したがって、出力フォルダ名は次のようになります。

1222015
1592013
0832011
0252005
.
.
.

ベストアンサー1

次のコマンドを使用できます。

sed -e 's/\///g' < file.txt | xargs mkdir

このsedコマンドはfile.txtから改行を削除し、ファイル内の各行に対してパイプが実行されます xargsmkdir

tr代わりに使用できる同等のコマンド(don_crisstiが提案する)sedは次のとおりです。

tr -d / < file.txt | xargs mkdir

おすすめ記事