相关疑难解决方法(0)

使用 IFS 拆分字符串

我编写了一个示例脚本来拆分字符串,但它没有按预期工作

#!/bin/bash
IN="One-XX-X-17.0.0"
IFS='-' read -r -a ADDR <<< "$IN"
for i in "${ADDR[@]}"; do
 echo "Element:$i"
done
#split 17.0.0 into NUM
IFS='.' read -a array <<<${ADDR[3]};
for element in "${array[@]}"
do
    echo "Num:$element"
done
Run Code Online (Sandbox Code Playgroud)

输出

One
XX
X
17.0.0
17 0 0
Run Code Online (Sandbox Code Playgroud)

但我预计输出是:

      One
      XX
      X
      17.0.0
      17
      0
      0
Run Code Online (Sandbox Code Playgroud)

bash shell-script lfs

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

如何在此处的文档中连接结果?

我有这个脚本:

while read $item;
do
    # Some bash logic here
done <<< "$({ cat /path/to/some/file; echo; })"
Run Code Online (Sandbox Code Playgroud)

现在我还想用来find查找一些目录的名称,并将其与循环一起cat传递while。

换句话说,我想:

  • cat一份文件
  • find一些目录
  • 连接结果
  • 将它们作为此处文档送入while循环

我被困在这一点上。

我想到了重复while逻辑,这不是一个好方法。我还考虑while使用函数重用循环内的逻辑。

然而,连接此处文档中的内容似乎是正确的方法。

bash find cat here-document here-string

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

标签 统计

bash ×2

cat ×1

find ×1

here-document ×1

here-string ×1

lfs ×1

shell-script ×1