Fast-GitHub:如何通过浏览器插件架构实现GitHub下载速度10倍提升
2026/5/17 9:42:19
在处理数据时,我们经常需要将合适的数据通过管道输入到while read循环中,并根据需要使用printf进行输出。例如,要打印主机名$HOSTNAME,后面跟一个制表符,再跟上last命令输出的非空行,可以使用以下命令:
$ last | while read i; do [[ -n "$i" ]] && printf "%b" "$HOSTNAME\t$i\n"; done若要将结果写入新的日志文件,可以这样操作:
$ last | while read i; do [[ -n "$i" ]] && printf "%b" "$HOSTNAME\t$i\n"; done > last_$HOSTNAME.log此外,也可以使用awk为每行添加文本:
$ last | awk "BEGIN { OFS=\"\t\" } ! /^\$/ { print \"$HOSTNAME\", \$0}" $ last | awk "BEGIN { OFS=\"\t\" } ! /^\$/ { print \"$HOSTNAME\", \$0}" > las