0

我需要通过 mac 控制台窗口获取文件夹的内容并通过 >output.txt 放入文本文件:

现有结构如下:

folder/index.html
folder/images/backpack.png
folder/shared/bootstrap/fonts/helvertica.eot
folder/css/fonts/helverticabold.eot
folder/shared/css/astyle.css
folder/js/libs/jquery-ui-1.10.4/jquery-ui.min.js",
folder/js/libs/jquery.tipsy.js
folder/js/libs/raphael.js

我想要的看起来像这样(文件夹丢失):

index.html
images/backpack.png
shared/bootstrap/fonts/helvertica.eot
css/fonts/helverticabold.eot
shared/css/astyle.css
js/libs/jquery-ui-1.10.4/jquery-ui.min.js
js/libs/jquery.tipsy.js
js/libs/raphael.js

没有列出 css/fonts 或 js/libs 或 css 文件夹,即没有文件夹….. 也没有像这样的格式

/folder/shared/css/astyle.css 或 ./folder/shared/css/astyle.css

更好的是使用括号和逗号:

“index.html”,
“images/backpack.png”,
“shared/bootstrap/fonts/helvertica.eot”,
“css/fonts/helverticabold.eot”,
“shared/css/astyle.css”,
“js/libs/jquery-ui-1.10.4/jquery-ui.min.js”,
“js/libs/jquery.tipsy.js”,
“js/libs/raphael.js”

因为我想制作一个 json 文档。这可能吗?谢谢。

4

1 回答 1

0

find是擅长的任务:

% find folder -type f | sed -e 's,folder/,",' -e 's/$/",/'

也许可以调整's,folder/,",'替换,比如说

(cd folder; find . -type f) | sed 's/\(.*\)/"\1",/'

进一步的改进是读者的练习!

于 2015-04-15T17:10:46.060 回答