[英]how to change names of all directories / files containing a specific string on linux
[英]How to create files that should be named like the directories names in Linux?
我要创建文件,这些文件的名称应该像/
目录中的目录名称
我创建了一个这样的 shell 脚本:
#!/bin/bash
cd /
declare -a array=($(ls -d */));
For i in "${array[@]}"; do
touch $i
done
但是当我执行它时它什么也没做! 虽然当我用echo
替换touch
时,它确实会将目录名称打印到屏幕上。 所以我认为问题出在touch
命令上?
或者,如果有另一种方法来代替 shell 脚本?
我建议为此使用find
:
-type d
-maxdepth 1
-exec sh -c ''
/
)touch
find / -type d -maxdepth 1 -exec sh -c 'echo ${0#/} | xargs touch' '{}' \;
在我的 MacO 上提供以下文件夹:
$ ls -ltah
total 0
-rw-r--r-- 1 me wheel 0B May 20 11:19 cores
-rw-r--r-- 1 me wheel 0B May 20 11:19 Volumes
-rw-r--r-- 1 me wheel 0B May 20 11:19 dev
-rw-r--r-- 1 me wheel 0B May 20 11:19 opt
-rw-r--r-- 1 me wheel 0B May 20 11:19 Applications
-rw-r--r-- 1 me wheel 0B May 20 11:19 Users
-rw-r--r-- 1 me wheel 0B May 20 11:19 .vol
-rw-r--r-- 1 me wheel 0B May 20 11:19 private
-rw-r--r-- 1 me wheel 0B May 20 11:19 System
-rw-r--r-- 1 me wheel 0B May 20 11:19 Library
-rw-r--r-- 1 me wheel 0B May 20 11:19 sbin
-rw-r--r-- 1 me wheel 0B May 20 11:19 bin
-rw-r--r-- 1 me wheel 0B May 20 11:19 usr
drwxr-xr-x 15 me wheel 480B May 20 11:19 .
drwxrwxrwt 16 root wheel 512B May 20 11:09 ..
$
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.