当前位置: 首页 > news >正文

10-11 周三 shell xargs tr curl 做大事情

 最近发现,shell的小工具非常的强大,简单记录下

tr命令

  • -d 删除字符串1中所有输入字符。
  • -s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串

-d 用于删除查询到的字符串中的空格。

[test3@NH-DC-NM134-C05-YW-HPC-27 bin]$ cat extract 
#!/bin/bash
# 从easybuild配置文件中提取指定键的值cat /home/test3/.config/easybuild/config.cfg | grep $1 | awk -F "=" '{print $2}' | tr -d " "

xargs

curl命令 发起多个POST请求

发起POST请求,拼接到URL中

cat images | xargs -I {} -P 3 curl http://10.101.14.36:48001/api/fast-build/task/check-image?image_name={} -X POST -d ‘’

JSON请求,请求体放在文件中

find ./ -name raw_json | xargs -p -n1 -li curl -X POST -H “Content-Type: application/json” -d @raw_json http://10.101.14.36:48001/api/fast-build/task/build-image

 其中raw_json内容如下:

{"webSSHSecret": "j7yC3VEVGFAJIRmnel+XVA==", "jupyterLabSecret": "qkrhxQmWOe5kvpJpplvTuQ==", "task_data": {"task_name": "10.101.12.129-lf99fl@zhejianglab.com-1694483700", "target_image_name": "10.101.12.129/lf99fl-zhejianglab.com/lftestbuild-test:1", "callback_url": "http://pre.alkaidos.cn/api/app/dros-ic-platform/harbor/image/callback"}, "dockerfile_json": {"base_image": "10.101.12.129/base/centos:8-test", "maintainer": "1676883790847406082", "image_installer_config": {"python_env": {"present": "", "update": true, "target": "Python-3.7.14.tgz", "install_loc": "/usr/local/dros/python"}, "pip_installer_config": {"installer_name": "pip", "install": {"present": "", "update": true, "target": "get-pip.py", "install_loc": ""}, "source": {"installer_name": "", "type": "ali", "file_name": "pip.conf"}, "software_list": [], "delimiter": "", "python_version": []}, "package_manager_installer_config": {"installer_name": "yum", "install": {"present": "4.4.2", "update": false, "target": "", "install_loc": ""}, "source": {"installer_name": "", "type": "", "file_name": ""}, "software_list": [], "delimiter": "", "python_version": []}, "conda_installer_config": {"installer_name": "conda", "install": {"present": "", "update": true, "target": "Anaconda3-5.3.1-Linux-x86_64.sh", "install_loc": ""}, "source": {"installer_name": "", "type": "qinghua", "file_name": ".condarc"}, "software_list": [], "delimiter": "", "python_version": []}, "webSSHSecret": "", "jupyterLabSecret": ""}}}

多进程触发下载

[test3@NH-DC-NM134-C05-YW-HPC-27 bin]$ cat downdep 
#!/bin/bash
#$1 为将待下载的依赖列表所在的文件名,使用eb -Dr *.eb >dep生成
count=`cat $1 | grep "\[ \]" | wc -l`cat $1 | grep "\[ \]" | cut -d "(" -f 1 | awk -F "/" '{print $NF}' |xargs -I file -P "${count}" sh -c "eb --fetch file" 2 > down.error
http://www.lryc.cn/news/191441.html

相关文章:

  • 1.1 向量与线性组合
  • django: You may need to add ‘localhost‘ to ALLOWED_HOSTS
  • 网络安全(黑客技术)—自学手册
  • 【Vue】之Vuex的入门使用,取值,修改值,同异步请求处理---保姆级别教学
  • ubuntu20.04 nerf Instant-ngp (下) 复现,自建数据集,导出mesh
  • 【常见错误】SVN提交项目时,出现了这样的提示:“XXX“ is scheduled for addition, but is missing。
  • 深度学习基础知识 给模型的不同层 设置不同学习率
  • 【Python 零基础入门】 Numpy
  • 1600*C. Circle of Monsters(贪心)
  • 国外互联网巨头常用的项目管理工具揭秘
  • sql 注入(4), 盲注
  • 【string题解 C++】字符串相乘 | 翻转字符串III:翻转单词
  • CentOS 7下JumpServer安装及配置(超详细版)
  • 基于 ACK Fluid 的混合云优化数据访问(五):自动化跨区域中心数据分发
  • sentinel的启动与运行
  • 模拟量采集无线WiFi网络接口TCP Server, UDP, MQTT
  • 五、OSPF动态路由实验
  • 系统架构设计:16 论软件开发过程RUP及其应用
  • Gralloc ION DMABUF in Camera Display
  • 【LVS】lvs的四种模式的区别是什么?
  • Android原生实现控件点击弹起效果方案(API28及以上)
  • 【数据结构-队列 二】【单调队列】滑动窗口最大值
  • 如何设置CentOS系统以禁用不必要的网络端口和服务?
  • 【IDEA项目个别类爆红,但是项目可以正常运行】
  • hive 之select 中文乱码
  • 优化|优化处理可再生希尔伯特核空间的非参数回归中的协变量偏移
  • Netty深入浅出Java网络编程学习笔记(一) Netty入门篇
  • 自动化产线集控系统(西门子CNC 840D/840DSL远程控制)
  • MVVM 与 MVC区别和应用场景?
  • Linux开发-Ubuntu软件源工具