跟我一起每天学习一个Linux命令

本文详细介绍了awk用于数据处理(如行号、列选择、字符串拼接)、base64进行编码解码(尤其是Kubernetessecret)以及curl进行网络请求(如下载脚本、查看IP和证书)的基本用法。展示了如何在IT工作中高效使用这些命令行工具。
摘要由CSDN通过智能技术生成

文章目录

awk

$NF     末列
$(NF-1) 倒数第二列
NR    已经读出的记录数,从1开始
NR>1  表示去除第一行(列头)

# 打印行号>1的记录
awk 'NR>1{print}' <file>

# 打印目录下文件名
ll src/ |awk -F " " '{print $NF}'
# 该命令还需要手动去除列头
(ll src/ |awk -F " " '{print $NF}') > local_list.txt 


# 拼接字符串
awk '{printf "\n kubectl set image deployment/" $1 " *=" $2 "\n\n"}' a.txt
gawk  -F: '{printf "\nset image deployment/" $1 " *=" $2 "-nai"}' a.txt
# -W posix 打开兼容模式。但有以下限制,不识别:/x、函数关键字、func、换码序列以及当fs是一个空格时,将新行作为一个域分隔符;操作符**和**=不能代替^和^=;fflush无效。
gawk -W posix -F: '{printf "\nset image deployment/" $1 " *="$2 " -nai"}' a.txt

awk拼接

ls {1..5}.txt |awk -F "." '{print $0,$1,$2}'
# 批量添加文件后缀
ls {1..5}.txt |awk -F "." '{print "mv",$0,$1"_finished."$2}'
ls {1..5}.txt |awk -F "." '{print "mv",$0,$1"_finished."$2}' |bash
# 获取pod所在节点
kubectl get pod <pod-name> -owide | awk 'NR>1 {print $7}'

base64

不支持$字符的转换

# 解密,可以解密K8S secret
echo "bWFuYWdlbWVudA==" |base64 -d
management

echo "123456" |base64
MTIzNDU2Cg==

echo "MTIzNDU2Cg==" |base64 -d
123456

curl

下载并执行脚本

curl -sL http://xxx.com/setup.sh | bash

查看本机外网IP

curl myip.ipip.net

查看域名证书有效期

curl -vvI https://baidu.com

上传文件至ftp

# 上传至ftp根目录
curl -u user:pwd -T 1.log ftp://xxftp.com:2121
# 上传至ftp指定目录(一次只能上传一个文件,待深入研究)
curl -u user:pwd -T 1.log ftp://xxftp.com:2121/public/

date

打印 YYYY-MM 格式日期

date +"%Y-%m"
# 1. Using echo and brace expansion:
echo 2022-{01..12}
# 2. Using seq and printf:
seq -f "2022-%02g" 1 12
# 3. Using awk:
awk 'BEGIN {for (i=1;i<=12;i++) printf "2022-%02d\n", i}'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值