Shell遍历文件的每一行

来自linux中国网wiki
Evan讨论 | 贡献2020年2月3日 (一) 06:07的版本 (创建页面,内容为“=原因= 由于使用for来读入文件里的行时,会自动把空格和换行符作为一样分隔符,因为当行里有空格的时候,输出的结果会很…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

原因

由于使用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