小编Las*_*ard的帖子

使用BASH搜索文件夹名称中包含空格的子文件夹

我正在编写一个shell脚本,它遍历一组IMAP文件夹.

鉴于:

WORKPATH=/var/mail/mydomain.com/myaccount/
Run Code Online (Sandbox Code Playgroud)

我想列出里面的所有子文件夹.

轻松找到:

for SUB_FOLDER in $(find "$WORKPATH" -type d)
do
    echo "SUB_FOLDER: $SUB_FOLDER"
done
Run Code Online (Sandbox Code Playgroud)

但是:其中一些文件夹的名称中包含空格,例如:

/var/mail/mydomain.com/myaccount/.Deleted Mails/
/var/mail/mydomain.com/myaccount/.Junk Mails/
Run Code Online (Sandbox Code Playgroud)

这使得上面的代码打印出来的邻居:

SUB_FOLDER: /var/mail/mydomain.com/myaccount/.Deleted
SUB_FOLDER: Mails/
SUB_FOLDER: /var/mail/mydomain.com/myaccount/.Junk
SUB_FOLDER: Mails/
Run Code Online (Sandbox Code Playgroud)

我已经尝试使用-print0选项并管道到xargs -0,但我没有运气.与IFS一起玩输出比输入更糟糕的东西.

真的可以使用一个提示如何使find只为4个for循环instad生成2个令牌,或者迭代列表的替代方法.

bash find

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

AT命令禁用无线电信号强度指示等?

我正致力于使用GSM调制解调器和我的电脑发送和接收短信的程序.

我已经收到了发送和接收工作 - 好吧.

偶尔我的程序被发送到一个完整的chrash由于调制解调器正在混合有关无线电信号强度指示和类似的信息,同时也为我的程序提供消息的十六进制代码.

我的代码可以很好地处理十六进制代码.但我在解码字节流时看到了以下行弹出:

^RSSI: 2
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经看到它发送1到10之间的值.

是否有可以禁用它们的AT命令?我没有必要.

或者替代方案:它们是否有通用语法,所以我可以在解码之前将它们过滤掉?

我倾向于过滤解决方案.但是,如果我知道调制解调器在表单上发送出来时会更容易实现:"^ SOMETHING:xxx",那么很高兴知道它是否始终是一个分隔符,例如"\ r \n" .

gsm rssi at-command

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

标签 统计

at-command ×1

bash ×1

find ×1

gsm ×1

rssi ×1