这段 LINUX SHELL 什么意思,用BASH写的。

[复制链接]
查看11 | 回复2 | 2012-3-27 11:40:21 | 显示全部楼层 |阅读模式
代码不完整,但可以看出这是一个循环。这里,$PASSWD, $TMP 是表示文件名的变量,$old, $new是表示字符串的变量。循环里用awk处理$PASSWD这个文件,以冒号:为分割符将一行分割为多个记录(-F:)。若该文件某行的第三个字段为"$old",就将它替换为"$new",然后打印整行。OFS=":" 指定了打印输出的格式,仍然是以冒号分隔各个字段。打印输出最后重定向到$TMP文件里,再用$TMP文件覆盖$PASSWD文件。其实,语句里省掉了BEGIN和END代码块标志。awk -F: 'BEGIN{OFS=":"} {if ($3 == "'"$old"'") {$3 = "'"$new"'"}} EN...
回复

使用道具 举报

千问 | 2012-3-27 11:40:21 | 显示全部楼层
将PASSWD文件中,符合第三列数值为$old的替换为$new...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行