【发布时间】:2023-03-22 11:21:01
【问题描述】:
我想获得使用接收两个参数的 bash 脚本创建 csv 文件的最简单方法:$var1 是要列出的文件夹,$var2 是要匹配的简单字母数字字符串模式。
当前版本选择正确的文件并编写一个精细的 csv 文件,但我想为每个文件名添加一个路径(路径存储在 var1 中)并使用 ls 编写一个“可执行”Yes/Now 字段-F 标签选项。
ls -lF "$var1"/*"$var2"* | awk {'print $9";$5";"$2";"$1'}
使用var1='.'; var2='sh' 我明白了
./2.sh*;1283;1;-rwxr--r--
./2.sh~*;1285;1;-rwxr--r--
./3.sh*;913;1;-rwxr--r--
./3.sh~*;849;1;-rwxr--r--
./4.sh*;411;1;-rwxr--r--
./4.sh~*;411;1;-rwxr--r--
./5.sh*;413;1;-rwxr--r--
./5.sh~*;386;1;-rwxr--r--
这与我需要的相似。 如果我在 bash 目录中,我想要这个输出
bash/2.sh;1283;1;-rwxr--r--;Yes
bash/2.sh~;1285;1;-rwxr--r--;Yes
bash/3.sh;913;1;-rwxr--r--;Yes
bash/3.sh~;849;1;-rwxr--r--;Yes
bash/4.sh;411;1;-rwxr--r--;Yes
bash/4.sh~;411;1;-rwxr--r--;Yes
bash/5.sh;413;1;-rwxr--r--;Yes
bash/5.sh~;386;1;-rwxr--r--;Yes
【问题讨论】:
-
编辑您的问题以显示一些示例输入和预期输出。
-
另请查看
stat命令以显示有关文件的信息。 -
我发现使用
var1=bash时出现错误,提示无法访问 bash/*sh*。由于某种原因,它将 * 读作字符而不是通配符。我也会检查 stat 命令,谢谢。