Bash Shell awk / xargs魔术
发布时间:2020-12-15 21:30:48 所属栏目:安全 来源:网络整理
导读:我正在努力学习一点awk foo.我有一个CSV,其中每一行的格式为partial_file_name,file_path.我的目标是找到文件(基于部分名称)并将它们移动到各自的新路径.我想结合find,awk和mv的力量来实现这个目标但是我坚持实施.我想使用awk将术语与csv文件分开,以便我可以
我正在努力学习一点awk foo.我有一个CSV,其中每一行的格式为partial_file_name,file_path.我的目标是找到文件(基于部分名称)并将它们移动到各自的新路径.我想结合find,awk和mv的力量来实现这个目标但是我坚持实施.我想使用awk将术语与csv文件分开,以便我可以做类似的事情
找 . -name’* $1 *’ – print | xargs mv {} $2 {} 其中$1和$2是csv文件中的拆分术语.有人有主意吗? -和平 解决方法
我觉得你在这里搞得很混乱. {}只能在find中使用,并且只能用于一次.即你不能做像找-name’* .jpg’-exec mv {} {} .png这样的事情.
做这个: $cat korv foo.txt,/hello/ bar.jpg,/mullo/ $awk -F,'{print $1 " " $2}' korv foo.txt /hello/ bar.jpg /mullo/ -F设置分隔符,因此上面将使用“,”分割.接下来,将*添加到文件名: $awk -F,'{print "*"$1"*" " " $2}' korv *foo.txt* /hello/ *bar.jpg* /mullo/ ** 这表明我有一条空行.我们不希望这个匹配,所以我们添加一个规则: $awk -F,'/[a-z]/{print "*"$1"*" " " $2}' korv *foo.txt* /hello/ *bar.jpg* /mullo/ 看起来不错,所以使用子shell将所有这些封装到mv: $mv $(awk -F,'/[a-z]/{print "*"$1"*" " " $2}' korv) $ 完成. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 单元测试 – 测试角度服务提供错误:无模块:ngResource
- angularjs – $sce.trustAsHtml与ng-bind-html
- 设计 – 为什么Scala维护的集合类型不返回Iterable(如.Net)
- 使用Canvas和AngularJS
- 网络 – 在docker-compose.yml中绑定主机端口时无法将服务扩
- shell 数组 循环
- angularjs – 生成动态表单输入字段并收集数组中的字段数据
- angularjs – 在Angular 1.2和Angular 1.6之间触发ng-click
- Angular 2模型函数插值 – self.context.$implicit.X不是函
- 如何使用命令行参数从bash运行perl脚本?