首页 > 解决方案 > BASH 缩短文件名包含屏幕截图

问题描述

我想用“Ss”替换当前目录中所有文件的“Screenshot”子字符串(如果容易,添加子文件夹)。目前我有这个代码,但需要完成/替换:

#!/bin/bash
for f in *; do
echo "${f}" | cut -c1-10
done

谢谢

标签: bash

解决方案


for f in *; do 
  mv $f ${f/Screenshot/Ss}
done

如果需要移动到子目录

mkdir -p foo
for f in *; do 
  mv $f ./foo/${f/Screenshot/Ss}
done

如果您的文件名包含空格,请确保将变量放在双引号中。

mkdir -p foo
for f in *; do
  mv "$f" "${f/origin with space/replace name}" 
done

推荐阅读