首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将_Variable_文件夹名称放在文件列表的前面

将_Variable_文件夹名称放在文件列表的前面
EN

Unix & Linux用户
提问于 2019-12-17 00:25:35
回答 4查看 61关注 0票数 0

给定一个文本文件,其中包含:

代码语言:javascript
复制
AF002 AI003 AA001 AD005 AD006 AI002 …

(由记录分离器分隔)

生成一个包含以下内容的文本文件:

代码语言:javascript
复制
AF/AF002.jpg
AI/AI003.jpg
AA/AA001.jpg
AD/AD005.jpg
AD/AD006.jpg
AI/AI002.jpg
…

(由同一记录分离器分隔)

换句话说,从文件名的前两个字母推断路径,并追加.jpg

另一个需要的特性是,由于我将处理这些文件的几十个,所以测试输入文件中的前三个条目是。这将避免我意外地将脚本应用于输出文件,因为第三个字符(/)将无法通过测试。

我一直试图在我的iMac上创建一个AWK脚本来完成这个任务,但是似乎连最简单的事情都做不到。我想把脚本放在一个单独的命令文件中。我正面临最后期限。

EN

回答 4

Unix & Linux用户

发布于 2019-12-17 00:43:24

就像这样:

代码语言:javascript
复制
#!/bin/bash

str=$(

副输出

代码语言:javascript
复制
AF/AF002.jpg
AI/AI003.jpg
AA/AA001.jpg
AD/AD005.jpg
AD/AD006.jpg
AI/AI002.jpg
票数 2
EN

Unix & Linux用户

发布于 2019-12-17 09:21:15

尝尝这个,

代码语言:javascript
复制
awk '{for (i=1;i<=NF;i++) print substr($i,1,2)"/"$i".jpg" }' file.txt

AF/AF002.jpg
AI/AI003.jpg
AA/AA001.jpg
AD/AD005.jpg
AD/AD006.jpg
AI/AI002.jpg
  • for循环遍历每个字段。
  • substring打印每个字段的前2个字符。
票数 1
EN

Unix & Linux用户

发布于 2019-12-17 16:38:26

代码语言:javascript
复制
perl -pne "s/ /\n/g" p| awk '{print substr($1,1,2)"/"$0".jpg"}' 

输出

代码语言:javascript
复制
AF/AF002.jpg
AI/AI003.jpg
AA/AA001.jpg
AD/AD005.jpg
AD/AD006.jpg
AI/AI002.jpg
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/557592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档