【问题标题】:what does anonymous-*-* mean in this bash command?在这个 bash 命令中,anonymous-*-* 是什么意思?
【发布时间】:2022-01-13 18:03:53
【问题描述】:

我知道 ls -d 的作用,但我对 anonymous-*-* |\ 部分感到困惑,有人可以解释一下吗

ls -d $data/anonymous-*-* |\

假设 $data 是一个目录名

【问题讨论】:

  • 只是一个普通的文件名通配符。 * 匹配任意字符序列
  • 所以这要求在文件名中anonymous- 之后至少还有一个-。
  • 竖线 (|) 表示 ls 的输出正在通过管道传送到以下命令,反斜杠表示命令在下一行继续。
  • 虽然从技术上讲,如果行以|(或&&或||)结尾,则不需要反斜杠。 Google shell style guide 推荐 a particular style 用于跨越多行的管道。

标签: bash shell glob ls


【解决方案1】:

它被称为bash globbing,对于匹配文件名和文本非常有用。 * 通配符完全匹配任何文本。所以anonymous-*-* 将匹配任何以anonymous- 开头的文件名,并在文件名之后的某处有另一个破折号-。

【讨论】:

  • 感谢您的帮助。这是整个命令,所以我猜测在 $data 文件夹中,匿名-- 文件是在上一步中创建的。 ls -d $data/anonymous-- |\ awk ' BEGIN {i=0} { anon_users[++i] = $0; } END { for (j in anon_users) {printf("anonymous%04d %s\n", j, anon_users[j]);}}' |\ sort -k1 > $data_local/anon.map
猜你喜欢
  • 1970-01-01
  • 2022-08-09
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
相关资源
最近更新 更多