我想重命名一堆图像以在文件名中包含 SHA 校验和。所以,例如,这个
twitter-icon.png
facebook-icon.png
linkedin-icon.png
变成这个
twitter-icon.23rjvn28374ughf1i2je72392qdh2jf.png
facebook-icon.89394udjnx2ebh28hdb8eghddgbxn3d.png
linkedin-icon.j399hdd83gh28bdb2nedudhdn299dhj.png
我最接近的是这个命令
shasum * | sed -e 's/\([^ ]*\) \(.*\(\..*\)\)$/mv -v \2 \2\1\3/' | sh
它用一个“但是”给出了几乎想要的结果——它在生成的名称中保留了文件扩展名,就像这样
twitter-icon.png23rjvn28374ughf1i2je72392qdh2jf.png
^^^
如何摆脱中间的扩展名并在校验和后缀之前获得干净的图像名称?
我想你想要这个:
shasum * | sed -e 's/\([^ ]*\) *\(.*\)\.\(.*\)$/mv -v "\2.\3" "\2.\1.\3"/' | sh
也许在没有| sh
第一个的情况下进行试运行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句