相关疑难解决方法(0)

如何在 ls -Al 中仅输出文件名(带空格)?

我应该只用这种结构回显文件或目录的名称:

ls -Al | while read string
do
...
done
Run Code Online (Sandbox Code Playgroud)

ls -Al 输出 :

drwxr-xr-x  12 s162103  studs         12 march 28 12:49 personal domain
drwxr-xr-x   2 s162103  studs          3 march 28 22:32 public_html
drwxr-xr-x   7 s162103  studs          8 march 28 13:59 WebApplication1
Run Code Online (Sandbox Code Playgroud)

例如,如果我尝试:

ls -Al | while read string
do
echo "$string" | awk '{print $9}
done
Run Code Online (Sandbox Code Playgroud)

然后只输出没有空格的文件和目录。如果文件或目录有“个人域”之类的空格,则只有“个人”一词。

我需要非常简单的解决方案。也许有比 awk 更好的解决方案。

linux command-line ls

116
推荐指数
4
解决办法
30万
查看次数

使用 find 获取目录名称列表

我知道我可以这样做来获取目录名称列表:

find . -type d -maxdepth 1 
Run Code Online (Sandbox Code Playgroud)

输出如下所示:

.
./foo
./bar
Run Code Online (Sandbox Code Playgroud)

我更喜欢没有./. 有没有办法让 find 只输出原始名称?

我尝试将列表发送到 stat 以对其进行格式化,但这只是给了我相同的结果:

find . -type d -maxdepth 1 -print0 | xargs -0 stat -f '%N'
Run Code Online (Sandbox Code Playgroud)

directory find

51
推荐指数
5
解决办法
13万
查看次数

从bash数组中删除最后一个元素

find通过构造一个isufx包含文件名后缀的数组来调用。

因此,我有

echo "isufx: ${isufx[*]}"
Run Code Online (Sandbox Code Playgroud)

这导致

-name *.texi -o -name *.org -o
Run Code Online (Sandbox Code Playgroud)

最后,我删除了数组中的最后一个元素 (-o),这样我就可以将它与find.

find "$fdir" "${isufx[@]}" 
Run Code Online (Sandbox Code Playgroud)

对于数组索引不是从 0 开始的情况,我询问使用什么技术来删除更健壮的最后一个元素。

bash find array

1
推荐指数
1
解决办法
82
查看次数

标签 统计

find ×2

array ×1

bash ×1

command-line ×1

directory ×1

linux ×1

ls ×1