Shell脚本打印所有子目录的路径

时间:2014-05-24 07:27:44

标签: shell

我的剧本:

 cd /var/www/try/
 sort -u
 files="$(find -L "/var/www/try/" -type d)"
 echo "Count: $(echo -n "$files" | wc -l)"
 echo "$files" | while read file; do
 echo $file >> filename.csv
 done

输出

/var/www/try
/var/www/try/cat

输出应为:

var-www-try
var-www-try-cat

第二种情况:  任何字符除了/因为我的文件夹名称包含/喜欢例如。

"tv/dvd"

输出生成:

 /var/www/try/cat/tv/dvd

输出应为:

 var-www-try-cat-tv/dvd-

1 个答案:

答案 0 :(得分:2)

查看sed,这是一种用于字符串替换任务的流行工具。

>> x=$(echo '/var/www/try/cat/tv/' | sed 's/\//-/g')
>> echo $x
-var-www-try-cat-tv-
>> x=${x:1}
>> echo $x
var-www-try-cat-tv-

编辑: 在回答你的第二个案件时:

  

因为我的文件夹名称包含/

也许这里存在误解,但你不应该在文件名中有/。见Is it possible to use "/" in a filename?