GNU sed

LeetCode

那年仲夏 提交于 2020-12-24 18:41:09
LeetCode - Easy - 195. Tenth Line Topic Bash Description https://leetcode.com/problems/tenth-line/ Given a text file file.txt, print just the 10th line of the file. Example: Assume that file.txt has the following content: Line 1 Line 2 Line 3 Line 4 Line 5 Line 6 Line 7 Line 8 Line 9 Line 10 Your script should output the tenth line, which is: Line 10 Note: If the file contains less than 10 lines, what should you output? There's at least three different solutions. Try to explore all possibilities. Analysis awk 是一种处理文本文件的语言,是一个强大的文本分析工具。 sed 可依照脚本的指令来处理、编辑文本文件。 tail 命令可用于查看文件的内容 Submission #

linux下的文件操作——批量重命名

十年热恋 提交于 2020-12-24 02:27:31
概述:在日常工作中,我们经常需要对一批文件进行重命名操作,例如将所有的jpg文件改成bnp,将名字中的1改成one,等等。文本主要为你讲解如何实现这些操作 1、删除所有的 .bak 后缀: rename 's/\.bak$//' *.bak 注意,这个命令的格式组织如下:s/ \.bark$ / / 是s/para1/para2/ 这个有点想sed的语法,将para1匹配的字符串换成para2 2、把 .jpe 文件后缀修改为 .jpg: rename 's/\.jpe$/\.jpg/' *.jpe 3、把所有文件的文件名改为小写: rename 'y/A-Z/a-z/' * 4、将 abcd.jpg 重命名为 abcd_efg.jpg: for var in *.jpg; do mv "$var" "${var%.jpg}_efg.jpg"; done 其中,此处涉及到shell的字符串匹配操作: 1> ${variable#pattern} 如果pattern匹配variable的开始部分,从variable的开始处删除字符直到第一个匹配的位置,包括匹配部分,返回剩余部分。 2> ${variable##pattern} 如果pattern匹配variable的开始部分,从variable的开始处删除字符直到最后一个匹配的位置,包括匹配部分,返回剩余部分。 3> $

Linux debug串口的释放

北城余情 提交于 2020-12-22 06:48:54
文档时间:2018-10-09 模块平台:EC25EFA Linux的默认控制台是debug串口,想要改变控制台,首先需要释放debug串口。 释放debug串口的步骤主要分为三步:1.禁止aboot的log输出 2.禁止linux启动过程的log输出 3.取消linux console控制台。 1,Aboot启动过程中会默认向debug串口打印消息,想取消这些打印信息,需要进行修改并重新编译aboot。   1),添加打印关闭宏     vim apps_proc/bootable/bootloader/lk/project/mdm9607.mk        2),添加DEFINES += DEBUG_LOG_DISABLE=1宏   3),修改 uart_dm.c(位于xxx/apps_proc/bootable/bootloader/lk/platform/msm_shared/目录下) #ifdef DEBUG_LOG_DISABLE static unsigned int msm_boot_uart_dm_write(uint32_t base, char *data, unsigned int num_of_chars) { return MSM_BOOT_UART_DM_E_SUCCESS; } #else /* * UART transmit operation

架构师之路2016高分文章精选(三)

ぐ巨炮叔叔 提交于 2020-12-20 07:00:48
“高分”的文章(以阅读量为衡量标准)再梳理总结, 希望“经过时间考验”的文章能让大家再有收获,预计 一周一期 (期间还是会发布新文的),这是 第三期 哈,大家直接 点击文章标题链接阅读 。 《 串行化解决缓存一致性问题 》 <- 点击 阅读: 12000+ 内容: (1)啥时候数据库和缓存中的数据会不一致 (2)不一致优化思路 (3)如何解决不一致 《 线程数究竟设置多少合理 》 <- 点击 阅读: 18000+ 内容:“工作线程数”的设置依据是什么,到底设置为多少能够最大化CPU性能,是本文要讨论的问题。 这一篇干货文有本轮投票胜出的潜质。 《 SED一分钟入门 》 <- 点击 阅读: 6700+ 内容:一分钟系列,使用SED必备的handbook。 《 创业型公司快速搭建立体化监控 》 <- 点击 阅读: 8000+ 内容: (1)创业型公司监控痛点是啥 (2)什么是立体化监控 (3)创业型公司如何快速、低成本落地立体化监控 这个话题曾在今年WOT(World Of Tech)技术大会上分享。 《 秒杀系统架构优化思路 》 <- 点击 阅读: 18000+ 内容: (1)秒杀业务为什么难做 (2)秒杀架构优化方向 (3)秒杀架构优化细节 大家想听什么内容,欢迎评论 ,我都会 记在自己的 TODO-list 里 ,后续撰文分享。 相关阅读: 架构师之路2016高分文章精选(一)

Docker构建Centos7容器

爷,独闯天下 提交于 2020-12-19 04:57:22
下载镜像 docker pull centos: 7.6 . 1810 构建容器 docker run --name centos_a -dit -p 30522 : 22 centos: 7.6 . 1810 /bin/ bash 进入容器 docker attach centos_a yum search ifconfig yum install -y net- tools.x86_64 yum install -y openssh- server ssh -keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N '' ssh -keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N '' ssh -keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N '' sed -i " s/#PermitRootLogin.*/PermitRootLogin yes/g " /etc/ssh/ sshd_config sed -i " s/#PubkeyAuthentication.*/PubkeyAuthentication yes/g " /etc/ssh/ sshd_config /usr/sbin/sshd -D &

3 款强大的开源密码管理器

筅森魡賤 提交于 2020-12-18 05:06:12
点击上方“ 民工哥技术之路 ”,选择“设为星标” 回复“ 1024 ”获取独家整理的学习资料! 我们现在每个人都离不开互联网,所以在很多网站上都有很多帐户和密码。如果每个账号都实用同一个密码,是非常不安全的,但如果使用不同的密码,又会记不住,所以今天给大家介绍3款强大的开源 密码管理 器,希望对你们有帮助。 1、1Password 这是很多人都爱用的密码管理器,被推荐过很多次了!1Password能帮助管理和保存我们所有的密码,加密后保存在本地,不同设备间可通过 Dropbox、iCloud 同步数据,在电脑浏览器或手机浏览器上安装插件后可以一键自动填写用户名密码,实现一键登录,非常方便,它支持Windows、 Mac、iOS、Android几乎所有的操作系统。 2、bitwarden bitwarden是开源、免费的,不仅支持全平台同步,还支持二步验证和浏览器自动填写,通过插件和客户端,能方便地一键填入密码。它除了有网页版、iOS、Android 移动版客户端外,还有Chrome、FireFox、Opera、Edge 浏览器插件,基本能在所有电脑手机上同步和使用你的个人密码数据。 3、KeeWeb KeeWeb是开源、跨平台的密码管理工具,具有云同步,键盘快捷键和插件等功能。KeePass 有一个官方客户端,功能简单易用,并且与 KeePass 存储加密密码的文件格式兼容

shell一键部署nginx+tomcat

…衆ロ難τιáo~ 提交于 2020-12-16 16:01:53
1.首先拉取环境 tomcat需要用到jdk环境 提前准备好nginx源码包,放于指定目录下 vim test.sh #!/bin/bash yum -y install gcc gcc-c++ zlib-devel pcre-devel tar zxf nginx-1.16.1.tar.gz cd nginx-1.16.1 && ./configure && make && make install cd /root && rpm -ivh jdk-8u20-linux-x64.rpm tar zxf apache-tomcat-7.0.96.tar.gz cp -r apache-tomcat-7.0.96 /opt/tomcat /usr/local/nginx/sbin/nginx /opt/tomcat/bin/startup.sh   判断nginx shulian=`cat /usr/local/nginx/conf/nginx.conf|grep 'proxy_pass http://192.168.11.128:8080;'|wc -l` if [ $shulian -ne 1 ];then sed -i 's/index.htm;$/index.jsp;/' /usr/local/nginx/conf/nginx.conf sed -i '/404.html;

玩转Redis-干掉钉子户-没有设置过期时间的key

天大地大妈咪最大 提交于 2020-12-06 18:39:04
   《玩转Redis》系列文章 by zxiaofan 主要讲述Redis的基础及中高级应用。本文是《玩转Redis》系列第【15】篇, 最新系列文章 请前往 公众号“zxiaofan” (点我点我) 查看,或 百度搜索“玩转Redis zxiaofan”(点我点我) 即可。 本文关键字: 玩转Redis、导出没有设置过期时间的key、删除没有设置过期时间的key ; 往期精选 : 《玩转Redis-生产环境如何导入、导出及删除大量数据》 大纲 如何查询Redis中没有设置过期时间的key数量 导出Redis中没有设置过期时间的key 安全删除Redis中没有设置过期时间的key   前段时间公司有新业务需要使用Redis,于是查看了生产一Redis集群的使用情况,用于评估是否能直接接入新业务。此Redis集群购买的阿里云集群社区版,8节点32G;   不看不知道,一看吓一跳。Redis实例共计 450W key,其中 230W 设置了过期时间,也就是说足足有 220W key没有设置过期时间。 What !!! 接近 50% 的数据没有过期时间,完全不符合常理,严重浪费。    不把这些钉子户揪出来,“誓不为猿”。   文末已放 github 联接。 1、如何查询Redis中未设置过期时间的key数量 1.1、使用阿里云【云数据库Redis版管理控制台】查看  

AWS CLI --query 选项筛选输出特定字段

喜夏-厌秋 提交于 2020-12-04 15:50:45
AWS CLI 命令参数学习 如何使用 --query 选项筛选输出 AWS CLI 使用 --query 选项提供内置输出筛选功能。为演示其工作方式,我们首先来看看下面的默认 JSON 输出,它描述了连接到不同 EC2 实例的两个 EBS (Elastic Block Storage) 卷。 $ aws ec2 describe- volumes { " Volumes " : [ { " AvailabilityZone " : " us-west-2a " , " Attachments " : [ { " AttachTime " : " 2013-09-17T00:55:03.000Z " , " InstanceId " : " i-a071c394 " , " VolumeId " : " vol-e11a5288 " , " State " : " attached " , " DeleteOnTermination " : true , " Device " : " /dev/sda1 " } ], " VolumeType " : " standard " , " VolumeId " : " vol-e11a5288 " , " State " : " in-use " , " SnapshotId " : " snap-f23ec1c8 " , "

部署zabbix 4.0 + grafana

北城以北 提交于 2020-11-25 16:33:05
不完整,仅供参考 Zabbix+grafana 监控部署 基本环境 系统: CentOS Linux release 7.3.1611 Zabbix—server: Zabbix_agent: Nginx 版本号: 1.62 Mysql 版本号: 5.7.27 Zabbix 版本号: 4.0 Grafana 版本号: 6.0 1: 基础环境配置(关闭防火墙和selinux) systemctl stop firewalld systemctl disable firewalld setenforce 0 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config 2: 安装zabbix 2.1 部署安装nginx yum -y install gcc pcre-devel openssl-devel wget wget http://nginx.org/download/nginx-1.6.2.tar.gz tar -xf nginx-1.6.2.tar.gz cd nginx-1.6.2/ ./configure --user=nginx --group=nginx --prefix=/opt/nginx/ --with-file-aio --with-http_addition_module -