在阅读有关在 bash 中批量重命名文件的教程并使用该sort
命令对文件内容进行排序时,我一直无法弄清楚如何将两者结合起来。
我有一个目录,其内容使用文件名中的标签进行排序,类似于程序TagSpaces处理事物的方式。创建或下载文件时,我会在文件名末尾添加我能想到的任何标签。下面是一个例子:
Sunrise (2) #wallpaper #4k #googleimages.jpg
Run Code Online (Sandbox Code Playgroud)
现在我想浏览所有这些文件并重命名它们,以便标签按字母顺序排序,而不影响标签之前或之后的任何内容(例如图片的标题或文件扩展名)。所以上面的将变成:
Sunrise (2) #4k #googleimages #wallpaper.jpg
Run Code Online (Sandbox Code Playgroud)
我该如何实现?我什至不知道如何将文件的名称而不是其内容传递给类似 的命令sort
,然后我可以将其输出通过管道传输到mv
.
我有一个包含数字的文件,例如:
1 11 323
2 13 3
3 44 4
4 66 23
5 70 23
6 34 23
7 24 22
8 27 5
Run Code Online (Sandbox Code Playgroud)
如何将行求和并输出到一列中,所以结果如下:
1 11 323 335
2 13 3 18
3 44 4 51
4 66 23 93
5 70 23 98
6 34 23 63
7 24 22 53
8 27 5 40
Run Code Online (Sandbox Code Playgroud)
我想在 sed、awk 和 perl 中看到解决方案