.json
我的目录中有一些文件。如果我做:
find . -name '*.json' -exec echo "{\"filename\": \"{}\", \"content\": `cat {}` }," \;
我得到:
{"filename": "./a.json", "content": },
{"filename": "./b.json", "content": },
但是,如果我这样做:
find . -name '*.json' -exec echo "{\"filename\": \"{}\", \"content\": cat {} }," \;
我得到:
{"filename": "./a.json", "content": cat ./a.json },
{"filename": "./b.json", "content": cat ./b.json },
那么如何正确编辑a.json
和和b.json
内容cat
呢?
顺便说一句,如果我这样做:
find . -name '*.json' -exec cat {} \;
json文件已正确打印在控制台中,因此我知道文件内容有效。
用简单的bash:
$ cat a.json
{ "a":123 }
$ cat b.json
{ "b":234 }
$ cat "foo/bar/base/c c.json"
{ "c": 456 }
$ shopt -s globstar # enable recursion with '**'
$ for i in **/*.json; do
cat<<EOF
{ "filename": "$i", "content": $(cat "$i") }
EOF
done | tee file.json
$ cat file.json
{ "filename": "a.json", "content": {"a":123} }
{ "filename": "b.json", "content": {"b":234} }
{ "filename": "foo/bar/base/c c.json", "content": { "c": 456 } }
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句