使用bash,如何在没有解释器抱怨的情况下获取文件夹中的文件数,从shell脚本中排除目录?
在朋友的帮助下,我试过了
$files=$(find ../ -maxdepth 1 -type f | sort -n)
$num=$("ls -l" | "grep ^-" | "wc -l")
Run Code Online (Sandbox Code Playgroud)
从命令行返回:
../1-prefix_blended_fused.jpg: No such file or directory
ls -l : command not found
grep ^-: command not found
wc -l: command not found
Run Code Online (Sandbox Code Playgroud)
分别.这些命令在命令行上运行,但不适用于bash脚本.
如果文件中填充了格式化的图像文件1-pano.jpg,我想抓取目录中的所有图像,以获得最大编号的文件,以便处理下一个正在处理的图像.
为什么会出现差异?
我想列出与ls模式匹配的目录文件,而不使用grep. 是否可以?
重点是检索与此模式匹配的所有文件'^\Extra_text_[0-9]\{10\}.csv'
并计算我得到了多少。
我尝试了这段代码:
ls | grep '^\Extra_text_[0-9]\{10\}.csv'
InputName=' | grep ^\Extra_text_[0-9]\{10\}.csv'
fileCount=`ls $INPUT_FILE/$InputName 2>/dev/null | wc -l`
echo "$fileCount
但这不起作用!:/
我想计算深度2中子目录的数量,但是忽略bash脚本中深度1的父目录。
例:
root_dir ---|--ignore_dir ---|--count_dir
| |--count_dir ---|--ignore_dir
| |--ignore_dir
|--ignore_dir ---|--count_dir
|--count_dir
|--count_dir
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
警告:我是菜鸟。无论如何,如果我有 var foo=$(find / \( -name "Test.txt" \)),并且知道使用相同的 find 命令并将输出传送到 wc -l 会给我正确的结果计数;我将如何仅使用foo(而不是另一个查找)来计算结果?bash