複数行を含むテキストファイルがあります。各行には、次の形式の日付があります。
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から改行を削除し、ファイル内の各行に対してパイプが実行されます xargs
。mkdir
tr
代わりに使用できる同等のコマンド(don_crisstiが提案する)sed
は次のとおりです。
tr -d / < file.txt | xargs mkdir