循环文本文件 shell 脚本

Tak*_*Tak 5 bash shell-script

我有一个目录中的文件列表和一组对应于另一个目录中每个文件的 jpeg。我需要遍历所有文件,并为每个文件名确定目标目录。

例如,如果我有三个名为foo.txt,bar.txtbaz.txtin 的文本文件/home/userA/folder/,则相应的 jpeg 将在/home/userA/folder2/foo/,/home/userA/folder2/bar/和 中/home/userA/folder2/baz/

我编写了一个脚本,它应该遍历所有 txt 文件并获取相应的目标目录,但它给了我一个错误:

bash: /home/userA/folder/File1.txt: syntax error: operand expected (error token is "/home/userA/folder/File1.txt")`
Run Code Online (Sandbox Code Playgroud)

我的脚本:

bash: /home/userA/folder/File1.txt: syntax error: operand expected (error token is "/home/userA/folder/File1.txt")`
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

A.B*_*.B. 2

使用find

#!/bin/bash
path="/home/userA/folder"
find "$path" -maxdepth 1 -type f -name "*.txt" -print0 | while read -d $'\0' file; do
    a="$path/$(basename $file)/a_%06.jpg"
    echo "$a
done
Run Code Online (Sandbox Code Playgroud)