对于我最初的问题,我得到了几个很好的答案,并选择使用@Giles Quenot提供的bash解决方案,它是
#!/bin/bash
str=$(转换包含以下内容的文本文件:
AF002
AI003
AA001
AD005
AD006
AI002转到
AF/AF002.jpg
AI/AI003.jpg
AA/AA001.jpg
AD/AD005.jpg
AD/AD006.jpg
AI/AI002.jpg但是,我创建了一个名为AddPath.sh的bash脚本,有两个完全与新手相关的问题:
我无法修改上面的命令来操作脚本名称后面"1“位置的文件;也就是说,我想编写AddPath.sh TrialList.txt > TargetFile.txt,因为我将不得不使用这个脚本很多次,每个脚本对一个不同的文件进行操作。请帮我克服我的无知。结果是,我必须为之创建文件路径的大多数文件都位于SanDisk拇指驱动器上,一般称为NO NAME。没汗,我想。我将只向echo "NO NAME/${i:0:2}/$i.jpg"添加修改推荐脚本中的回显行。这似乎适用于第一次尝试,但在随后的运行中,它会插入额外的回车(可能是linefeed吗?)这样我就可以在我的iMac上得到输出: NO NAME/AF/AF 002 .jpg,NO NAME/AI/AI003 .jpg,NO NAME/AA/AA 001 .jpg,NO NAME/AD 005 .jpg NO NAME/AD/AD 006 .jpg NO NAME/AI/AI002 .jpg再一次,很有可能是完全的新手愚蠢。请帮帮忙。
发布于 2019-12-20 19:32:38
哇哦!我自己解决了一个问题!
问题(2)是,由于某种原因,$i变量包括原始列表行尾的回车。目前还不清楚为什么脚本现在要这样做,而它以前没有,但也是如此。我用echo "NO NAME/${i:0:2}/${i:0:5}.jpg"代替D1解决了这个问题。这就排除了在行尾复制回车。
https://unix.stackexchange.com/questions/558171
复制相似问题