Shell遍历文件的每一行
原因
由于使用for来读入文件里的行时,会自动把空格和换行符作为一样分隔符,因为当行里有空格的时候,输出的结果会很乱,所以……
得到一个批量删除 redis 脚本
cat r del hello_coin_limit_config_1186883712095948803_1 [root@prod-hello-nginx02 evan]# bash f del hello_coin_limit_config_1186883712095948803_1 如何批量 执行 evan@bsd-latop:~/test % cat r del hello_coin_limit_config_1186883712095948803_1 del hello_coin_liiiiiidsafasjfig_1186883712095948803_1 evan@bsd-latop:~/test % cat ff cat $1 | while read line #cat r | while read line do echo $line done evan@bsd-latop:~/test % bash ff r del hello_coin_limit_config_1186883712095948803_1 del hello_coin_liiiiiidsafasjfig_1186883712095948803_1 cat $1 | while read line #cat r | while read line do echo $line done 最终得到一个批量删除redis key 脚本 #!/bin/bash cat $1 | while read line do redis-cli -c -h 172.31.22.218 -p 7000 -a hello $line redis-cli -c -h 172.31.22.218 -p 7001 -a hello $line redis-cli -c -h 172.31.16.135 -p 7002 -a hello $line redis-cli -c -h 172.31.16.135 -p 7003 -a hello $line redis-cli -c -h 172.31.23.43 -p 7004 -a hello $line redis-cli -c -h 172.31.23.43 -p 7005 -a hello $line done
其它参考
循环出每一行数据,再分割每个字符 做处理 cat file_name | while read line do echo $line; array=(${line///t/ }) appkey=${array[0]} file_name=${array[1]} done; 原文链接:https://blog.csdn.net/yan88888888888888888/article/details/103298561