我编写了一个示例脚本来拆分字符串,但它没有按预期工作
#!/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) 我有这个脚本:
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使用函数重用循环内的逻辑。
然而,连接此处文档中的内容似乎是正确的方法。