标签: globbing

如何在 Bash 命令行上扩展 *

我明白,如果你输入ls *它实际上是扩展到ls a b c当前直接有文件的时候abc.

我想知道在我输入之前是否有办法扩展它。类似于Ctrl+X 的工作方式,或Tab Complete 的工作方式。

所以为了让自己清楚

$ ls *
<press magic key>
$ ls a b c
Run Code Online (Sandbox Code Playgroud)

以类似的方式:

$ ls ~/
<press tab>
$ ls /home/username
Run Code Online (Sandbox Code Playgroud)

我以为我以前看过这个,但我可能弄错了。

bash autocomplete globbing

38
推荐指数
4
解决办法
1万
查看次数

bash 的 * 是否按字母数字顺序匹配文件?

我想按文件名顺序将一堆文件连接在一起。

假设这会按字母数字顺序给我它们是否安全?

cat * 
Run Code Online (Sandbox Code Playgroud)

ls给出的相同顺序。

bash globbing

28
推荐指数
2
解决办法
6793
查看次数

如何正确否定 zsh globbing 表达式?

我想列出所有文件,但那些以 owp 结尾的文件:因此我尝试过:

  ls -l *.(^owp)
  zsh: unknown sort specifier
  ls -l *(^owp) 
  zsh: unknown sort specifier
  ls -l *[^o][^w][^p] # does not work either, missing some files
Run Code Online (Sandbox Code Playgroud)

没有一个工作。我如何以正确的方式做到这一点?我的 .zshrc 已经“设置了extendedglob”。

zsh globbing

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

rm -rf * 会删除当前目录中的所有文件/文件夹吗?

rm -rf *删除当前目录中的所有文件/文件夹吗?我想确保通配符*不会在上层目录中向上移动并擦除我的所有文件系统。:D

我记得chmod 777 .* -Rchmod隐藏文件做的,它chmod编辑了我所有的文件系统。显然,我使用的是 root 帐户。

shell globbing

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

如何从终端删除所有隐藏的 .swp 文件

如何删除所有 .swp 文件?我试过了,rm *.swp但我得到了rm: *.swp: No such file or directory

rwxr-xr-x  16 teacher  staff    544 Jan 17 13:19 .
drwxr-xr-x  19 teacher  staff    646 Jan 16 12:48 ..
-rw-r--r--   1 teacher  staff  20480 Jan 17 09:48 .6-1-period-2.txt.swp
-rw-r--r--   1 teacher  staff  16384 Jan 17 09:05 .6-2-period-6.txt.swp
-rw-r--r--@  1 teacher  staff   6148 Jan 15 16:16 .DS_Store
-rw-r--r--   1 teacher  staff  12288 Jan 16 19:46 .grade8.txt.swp
-rw-r--r--   1 teacher  staff  11070 Jan 17 09:48 6-1-period-2.txt
Run Code Online (Sandbox Code Playgroud)

terminal bash shell command-line globbing

11
推荐指数
3
解决办法
3万
查看次数

Linux Bash Shell - 文件通配特定范围?

我在一个文件夹中有一堆文件:

电子表格700.xls 电子表格800.xls 电子表格850.xls 电子表格1005.xls 电子表格2400.xls

如何使用文件通配来选择数字以 700 或更高但小于 1000 结尾的文件并将它们放入新文件夹中?

我试过了:

cp 电子表格*.xls 但通配符选择全部。先谢谢了。

linux bash globbing

11
推荐指数
2
解决办法
5789
查看次数

没有匹配项时如何处理 bash * 匹配项?

*.txt目录中实际存在文件时,以下 bash 代码段效果很好。

for txt in *.txt
do                                               
  echo "loading data from $txt"
done   
Run Code Online (Sandbox Code Playgroud)

如果没有,文字*.txt会作为 $txt 进入循环(不好)。

如何更改此代码以便在没有*.txt文件时do ... done跳过该块?

bash globbing

10
推荐指数
2
解决办法
3999
查看次数

双引号内的通配符是否通配符?

在“标准 BASH”上,双引号内是否有通配符?例如:

$ touch abc
$ ls "*abc*"
Run Code Online (Sandbox Code Playgroud)

会,还是不会在 bash 上工作?

有人告诉我 Ubuntu 附带了一个不符合 POSIX 或 BASH 的 bash 变体。真的吗?

bash globbing

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

如何使用 _one_ shell globbing 表达式列出所有文件(当然还有隐藏文件!)?

好的,这个问题针对 Unix/Linux shell!

我想要一个 shell globbing(又名通配符)模式或 GLOBIGNORE 列表,以非递归方式(maxdepth == 1)匹配当前目录中的所有文件,包括隐藏文件。到目前为止,我必须执行两个命令或使用较长的解决方法(见下文):

ls -lad *vim*
ls -lad .*vim*
Run Code Online (Sandbox Code Playgroud)

在使用 zsh 时。如果我记得的话,dash 和 bash 是一样的,对吧?

简短的解决方法:

ls -la | grep vim
find . -maxdepth 1 | grep vim
Run Code Online (Sandbox Code Playgroud)

我想了一百次:难道没有一个简单的通配解决方案吗?为什么不*匹配点字符?

shell globbing

7
推荐指数
2
解决办法
1830
查看次数

Bash 部分全局扩展

我有一个与此类似但不同的问题:如果可能,我希望 bash在自动完成中使用glob 扩展。例如,我想

$ ls *2.<TAB>
Run Code Online (Sandbox Code Playgroud)

给我:

$ ls mydoc2.
mydoc2.pdf mydoc2.tex mydoc2.txt
Run Code Online (Sandbox Code Playgroud)

我经常遇到这种情况。在上面的例子中,我使用了短前缀“mydoc”,但实际的前缀通常很长。这可能吗?

我知道*2.*会扩展为C-x*,但这是一个不同的函数,在这种情况下不适合(因为我只需要从与 glob 匹配的文件列表中选择一个文件)。

bash globbing tab-completion

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