给定一个文本文件,其中包含:
AF002 AI003 AA001 AD005 AD006 AI002 …(由记录分离器分隔)
生成一个包含以下内容的文本文件:
AF/AF002.jpg
AI/AI003.jpg
AA/AA001.jpg
AD/AD005.jpg
AD/AD006.jpg
AI/AI002.jpg
…(由同一记录分离器分隔)
换句话说,从文件名的前两个字母推断路径,并追加.jpg
另一个需要的特性是,由于我将处理这些文件的几十个,所以测试输入文件中的前三个条目是。这将避免我意外地将脚本应用于输出文件,因为第三个字符(/)将无法通过测试。
我一直试图在我的iMac上创建一个AWK脚本来完成这个任务,但是似乎连最简单的事情都做不到。我想把脚本放在一个单独的命令文件中。我正面临最后期限。
发布于 2019-12-17 00:43:24
就像这样:
#!/bin/bash
str=$(副输出AF/AF002.jpg
AI/AI003.jpg
AA/AA001.jpg
AD/AD005.jpg
AD/AD006.jpg
AI/AI002.jpg发布于 2019-12-17 09:21:15
尝尝这个,
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.jpgfor循环遍历每个字段。substring打印每个字段的前2个字符。发布于 2019-12-17 16:38:26
perl -pne "s/ /\n/g" p| awk '{print substr($1,1,2)"/"$0".jpg"}' 输出
AF/AF002.jpg
AI/AI003.jpg
AA/AA001.jpg
AD/AD005.jpg
AD/AD006.jpg
AI/AI002.jpghttps://unix.stackexchange.com/questions/557592
复制相似问题