这一系列命令编辑 idea.js 并将其导出为 idea.csv ;
find
我需要做的是运行完全相同的命令,但使用find . -type f -name "idea.js" \( \
-exec sed -n '/^get\.idea/s/^.*(\(.*\)).*/\1/ p' idea.js {} \; -o \
-exec true \; \) \
-exec awk -F, 'BEGIN {print "idea, description";OFS=","} (NR % 2 ) == 1
{save=$2} (NR % 2) == 0 {print save, $2}' > idea.csv {} \;
搜索具有相同 idea.js 名称的多个文件,这些文件位于多个目录中,导出每个找到 idea.js 的同一目录中的那些文件。
我尝试了很多方法,但我得到了不同的错误。
这里结果不是预期的结果:
find . -type f -name "idea.js" \(
-exec sed -n '/^get\.idea/s/^.*(\(.*\)).*/\1/ p' idea.js |
awk -F, 'BEGIN {print "idea, description";OFS=","} (NR % 2 ) == 1
{save=$2} (NR % 2) ==0 {print save, $2}' > idea.csv {} \)
在这里:
idea, description
awk: cannot open {} (No such file or directory)
find: missing argument to `-exec'
Try 'find --help' for more information.
我收到此错误:
$ sh script.sh
我想学习如何直接从命令行执行此操作,并以脚本方式执行此操作:
def process_data(some_data):
return_data = {}
for datum in some_data:
main_key, values = datum.split('#')
return_data.setdefault(main_key, []).append(dict(
tuple(v.split(':')) for v in values.split('&')
))
return return_data
我很感激帮助。