Bash 脚本更改动态变量上的文件夹路径的一部分

C0nw0nk

所以我把下面的 bash 脚本放在一起,我想修改我抓取的文件路径目录

所以我的布局是这样的

/home/videos_test/categoryname/1/vid.mp4
/home/videos_test/categoryname/2/randomvid.mp4

我想修改它抓取的文件路径,看起来像这样

/home/videos_test/changed_folder/1/vid.mp4
/home/videos_test/changed_folder/2/randomvid.mp4

完整脚本

#!/bin/bash

echo "Type the category that you want, followed by [ENTER]:"

read category

export FILE_PATH="/home/videos_test"
export STAR="/*"

FILE_PATH=$FILE_PATH"/"$category;
echo $FILE_PATH;

minimumsize=1000

for dir in $FILE_PATH$STAR$STAR; do
[[ ! -f "${dir}" ]] && continue # if its NOT a file then skip
actualsize=$(du -k "$dir" | cut -f 1)
if [[ ! $actualsize -ge $minimumsize ]]; then #if file is less than 1mb delete it

echo $dir
echo size is under $minimumsize kilobytes
rm "$dir"
echo deleted

else #for files over 1mb in size convert with ffmpeg

full_file=$(basename $dir)
full_dir=$(dirname $dir)
echo $full_file
echo $full_dir

ffmpeg -i "$dir"

#ffmpeg output file directory needs to be mirrored but with a folder change

read -p "Press any key to resume ..."

fi
done

我想成为 ffmpeg 的文件夹输出

 /home/videos_test/$category _new/1/vid.mp4
/home/videos_test/$category _new/2/randomvid.mp4
C0nw0nk
path_start=$(echo $dir | rev | cut -d'/' -f4- | rev)
path_end=$(echo $dir | cut -d'/' -f5-)
new=_new
new_path=$path_start/$category$new/$path_end
new_path_no_file=$(echo $new_path | rev | cut -d'/' -f2- | rev)
mkdir -p $new_path_no_file
ffmpeg -i "$dir" -c:v copy -c:a copy -x264opts opencl -movflags +faststart -analyzeduration 2147483647 -probesize 2147483647 -pix_fmt yuv420p "$new_path"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Bash脚本无法将变量识别为路径的一部分

Bash脚本等待流程的一部分

重命名文件,删除文件名bash脚本的一部分

如何使用bash脚本删除文件名的一部分

如何使用bash脚本选择txt文件的一部分?

bash :将文件名的一部分更改为小写

Bash脚本可删除目录下每个文件中文件名的一部分

如何在 bash 脚本中使用 (basename "${video%.*}") 获取文件名的一部分?

在编写Bash脚本时,如何创建然后以日期作为名称一部分的文件?

Bash,总是检查$ PWD作为路径的一部分吗?

在bash中提取包含数字的路径的一部分

在bash脚本中提取字符串的一部分

在bash中获取列表的一部分

bash-提取以数字开头的变量的一部分

如何在bash shell中grep文件的一部分

在XML文件中使用bash查找并替换字符串的一部分

bash脚本,它将来自文件的内容作为命令的一部分合并

将文件名的一部分分配给bash变量?

如何在bash脚本中收集第二行输出的第一部分并设置为变量

如何使bash / shell变得一部分脚本同时运行,然后再运行?

Bash脚本从文本文件中读取两条特定行,并将其中的一部分用作变量

使用 bash/sed 将文件名的一部分添加到 .csv 文件

通过使用 bash 脚本删除现有文件名的一部分来重命名文件

Bash-在“:”上分割命令的结果,并用第一部分调用程序

使用gnu-coreutils,bash获取二进制文件的一部分

排序文件,然后按原始顺序打印出一部分-Bash

如何在bash中使用sed按节获取ini文件的一部分

Bash:如何从for循环中的多个文件的数组中删除目录的第一部分?

从路径的一部分是可变的 VBA 的子文件夹中复制文件