Sas*_*Sas 25 ls bash shell-script
我正在尝试使用目录中的模式 ls 一些文件。我只想扫描第一级而不是递归。
我的脚本:
for i in $(ls $INCOMINGDIR/*$BUSSINESSDATE*)
do
echo $i;
done
Run Code Online (Sandbox Code Playgroud)
以上命令递归扫描。如何让它只扫描一级目录?
gle*_*man 50
for i in "$incoming_dir"/*"$business_date"*; do
Run Code Online (Sandbox Code Playgroud)
交互地,ls有一个-d防止下降到子目录的选项:
ls -d $INCOMINGDIR/*$BUSSINESSDATE*
Run Code Online (Sandbox Code Playgroud)
没有理由为什么这个命令应该是递归的。但是如果$INCOMINGDIR/*$BUSSINESSDATE*匹配一个目录,则显示该目录的内容而不是目录本身。但是超出这个级别就没有递归了。
使用此命令可避免这种影响:
ls -d "$INCOMINGDIR/"*"$BUSSINESSDATE"*
Run Code Online (Sandbox Code Playgroud)
for ... in带ls输出的命令是有风险的。
一般来说find似乎是更好的解决方案或
for i in "$INCOMINGDIR/"*"$BUSSINESSDATE"*
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19392 次 |
| 最近记录: |