小编vzy*_*lly的帖子

用空格分隔的bash字符串到数组

我想读取一个值并将其与空格分开,然后根据数组的部分进行处理.更确切地说,如果第一个(如果假跳过休息)3元素的语句将使用另一个程序(查找数据库)从一个单词更改为一个数字,那么第四个和最后一个将检查上面是否有非数字或数字64,如果没有那么它会将它们全部重新组合在一起(我知道该怎么做)然后继续.我已经在谷歌的多个网站上工作了3个多小时.

vzybilly@vzybilly-laptop:~/Desktop$ cat ./test.sh
#!/bin/bash
read -p "cmd: " IN

#OIFS=$IFS
#IFS=';'
#arr2=$IN

#a=$(echo $IN | tr " " "\n")
a=$(echo "$IN")
for i in $(seq 0 $((4 - 1))); do
    echo "a[$i] = \"${a[$i]}\""
done

#IFS=$OIFS

exit 0
vzybilly@vzybilly-laptop:~/Desktop$ ./test.sh
cmd: cmd pers item num
a[0] = "cmd pers item num"
a[1] = ""
a[2] = ""
a[3] = ""
Run Code Online (Sandbox Code Playgroud)

我想要的是:

vzybilly@vzybilly-laptop:~/Desktop$ ./test.sh
cmd: cmd pers item num
a[0] = "cmd"
a[1] = "pers"
a[2] = "item"
a[3] = …
Run Code Online (Sandbox Code Playgroud)

arrays string bash ubuntu ubuntu-10.04

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

ubuntu/linux bash:遍历目录和子目录来处理文件

让我从我需要的开始; 程序被赋予一个目录,然后它将检查目录中的所有文件(工作)并对文件执行操作(等待它可以找到该部分的所有文件).然后它会查找子目录并为每个子目录重新运行它的self.

我正在测试的目录如下所示:

desktop/test_files/ (starting directory)
desktop/test_files/folder 1/
desktop/test_files/folder 1>folder 2/
desktop/test_files/folder 1>folder 2/<files, 20 or so>
desktop/test_files/folder 3/
desktop/test_files/folder 3/<more files, 20 or so>
Run Code Online (Sandbox Code Playgroud)

文件夹和文件在名称中包含空格

输出是:

$ ./x007_shorter.sh Desktop/test_files/

Desktop/test_files/"folder 1"/
Desktop/test_files/folder 1/"folder 2"/
ls: cannot access */: No such file or directory
Desktop/test_files/folder 1/folder 2/"folder 3"/
./x007_shorter.sh: line 4: cd: ./folder 3/: No such file or directory
ls: cannot access */: No such file or directory
Run Code Online (Sandbox Code Playgroud)

这是程序:

#!/bin/bash
function findir {
    newDir=$1
    eval cd $newDir
    ARRAY=( $(ls -d …
Run Code Online (Sandbox Code Playgroud)

linux bash shell

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

标签 统计

bash ×2

arrays ×1

linux ×1

shell ×1

string ×1

ubuntu ×1

ubuntu-10.04 ×1