linux – 限制bash循环
发布时间:2020-05-23 00:04:04 所属栏目:Linux 来源:互联网
导读:我有大量创建虚拟文件和目录的问题. 我想创建这样的东西: dummy_directory_1/dummy_file_1dummy_directory_2/dummy_file_2dummy_directory_3/dummy_file_3 使用循环: for(( i=1; $i =1000; i++ )); do mkdir $(date --date=$i day ago +%
|
我有大量创建虚拟文件和目录的问题.
dummy_directory_1/dummy_file_1 dummy_directory_2/dummy_file_2 dummy_directory_3/dummy_file_3 使用循环: for(( i=1; $i <=1000; i++ )); do mkdir $(date --date="$i day ago" +%Y%m%d%H%M%S); touch $(date --date="$i day ago" +%Y%m%d%H%M%S)/$(date --date="$i day ago" +%Y%m%d%H%M%S)_file; done 并非所有文件都被创建,因为我收到以下错误: touch: cannot touch `20140211230556/20140211230556_file': No such file or directory touch: cannot touch `20131105230559/20131105230559_file': No such file or directory touch: cannot touch `20130529000604/20130529000604_file': No such file or directory 你知道bash / linux对文件创建有一些限制吗?当我使用grep编写用于搜索许多文件的脚本时,我遇到了类似的问题. 解决方法只有在生成目录名称的两个日期调用在同一秒内执行时,您的代码才有效,如果恰好在两者之间发生更改,则最终会为direcory名称生成两个不同的值.首先尝试将值存储在变量中: for(( i=1; i <= 1000; i++ )); do
name=$(date --date="$i day ago" +%Y%m%d%H%M%S)
mkdir -p "$name" &&
touch "$name/${name}_file" ||
break
done (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何在Mac OS X中获得与Linux gcc / gnu crypt(3)相同的cry
- linux – libtool与64位目标平台上的32位版本的libstdc .so
- 带有vi密钥绑定的PHP IDE
- linux – 调用dlclose(NULL)是否安全?
- linux – 如何防止用户在OpenVPN中共享证书?
- linux – 我正在尝试在shell脚本中查找具有多个扩展名的文件
- sersync自动化同步部署
- linux – 我想使用“awk”或sed打印文件中以“comm =”开头
- linux – 如何找出文件在磁盘上的物理位置(块号)?
- linux – / etc / hosts是否应包含类似’127.0.0.1 localho
