我有一个多行的文本文件。在每一行中,我都有以下格式的日期:
12/2/2015
15/9/2013
08/3/2011
02/5/2005
.
.
.
Run Code Online (Sandbox Code Playgroud)
我想使用一个简单的for
循环为此文本文件中的每一行创建一个文件夹,如下所示:
#!/bin/bash -f
for f in $(cat ./file.txt ); do
mkdir ${f}
done
Run Code Online (Sandbox Code Playgroud)
这段代码不起作用,因为我有/
日期格式的字符。如何创建文件夹并同时从文件夹名称中删除此字符?所以输出文件夹名称将是这样的:
1222015
1592013
0832011
0252005
.
.
.
Run Code Online (Sandbox Code Playgroud)
您可以使用这样的命令:
sed -e 's/\///g' < file.txt | xargs mkdir
Run Code Online (Sandbox Code Playgroud)
该sed
命令将从 file.txt 中去除换行符,并且管道xargs
将mkdir
针对文件中的每一行运行。
使用tr
而不是的等效命令(由 don_crissti 建议)sed
是:
tr -d / < file.txt | xargs mkdir
Run Code Online (Sandbox Code Playgroud)