Sed的常用命令语法

Sed是一个非交互性文本流编辑器。它编辑文件或标准输入导出的文本拷贝。vi中的正则表达式命令在sed中大多可以通用。 sed常用选项 -e script 指定sed编辑命令 -f scriptfile 指定的文件中是sed编辑命令 -n 寂静模式,抑制来自sed命令执行过程中的冗余输出信息,比如只显示那些被改变的行。 -i[SUFFIX], –in-place[=SUFFIX] 替换和备份源文件 edit files in place (makes backup if extension supplied) 1. 参数p: 打印匹配行 # sed -n ‘2p’/etc/passwd 打印出第2行 awk ‘NR==2{print}’ /etc/passwd # sed -n ‘1,3p’/etc/passwd 打印出第1到第3行 # sed -n ‘$p’/etc/passwd 打印出最后一行 # sed -n ‘/user/p’ /etc/passwd 打印出含有user的行 # Read more…

docker registry auth权限认证搭建

docker registry官方默认的权限认证是pull和push都需要密码. 线上私有镜像仓库有个需求, pull不需要密码, 仅push需要密码, 这样线上应用不用更新逻辑, 从而增加registry的安全性, 不会被人使黑删除或覆盖镜像. 参考了 https://medium.com/@maanadev/authorization-for-private-docker-registry-d1f6bf74552f https://github.com/cesanta/docker_auth 搭建过程中间有一些坑. 首先搭建go环境,

注意: go项目要放到/opt/goProject/src/目录下

  安装docker-compose后, 这是我的compose文件:

  这是docker-auth配置文件:

这是compose根目录文件结构:

  其中: registry-web是做web端管理界面 详细的权限控制(https://github.com/cesanta/docker_auth/blob/master/examples/reference.yml):

 

sed 用法总结

一个不错的网站,C语言中文网,包罗万象,非常详细:http://c.biancheng.net/ 1.sed替换换行符及标签的使用

解析:以上命令实现不了替换换行符,这跟sed的行处理方式有关,sed读取一行时,会先把换行符去掉,处理完后再添加上,所以是无法使用上面的命令进行换行符替换的,必须使用sed中的其它命令来完成。上面的恢复可以使用tr命令:

以下命令能实现替换文本中全部换行符:

解析: :label;  这是一个标签,用来实现跳转处理,名字可以随便取(label),后面的b label就是跳转指令 N;  N是sed的一个处理命令,追加文本流中的下一行到模式空间进行合并处理,因此是换行符可见 s/\n/:/;   s是sed的替换命令,将换行符替换为冒号 b label  或者 t label    b / t 是sed的跳转命令,跳转到指定的标签处 2.sed输出奇数行和偶数行 a.

解析:n表示读取下一个输入行,用下一个命令处理新的行而不是第一个命令。 b.

解析:第一个数字表示起始行,第二个数字表示步长。 3.在字符之间插入空格

解析:&表示前面匹配到的内容。   sed -n ‘1,3 p’ a.txt  #sed 命令 -n(sed的命令行选项—-取消标准输出) 1,3 (读到缓冲区处理的地址范围) p(sed命令–这个命令表示要怎样处理缓冲区的内容,p是打印输出缓存区内容) sed -n ‘1,3 Read more…

wordpress主题更新失败

报错: The update cannot be installed because we will be unable to copy some files. This is usually due to inconsistent file permissions. 解决:

 

zsh + oh-my-zsh 主题预览

zsh + oh-my-zsh 主题预览 The Themes robbyrussell the (default) that Robby uses The rest of the themes, in alphabetical order: af-magic afowler agnoster Official repository Shown with Solarized Dark colorscheme and Powerline-patched Menlo 14pt in iTerm 2. Additional setup: Install one of the patched fonts from Vim-Powerline or patch your own for the special characters. Optionally set DEFAULT_USER in ~/.zshrc to your Read more…

AWK教程

转自:https://github.com/bo369/awk

oh-my-zsh出现的问题

由于之前的VPS到期了,又买了台VPS,想打造成高逼格的开发环境,结果在装上oh-my-zsh后,.zshrc配置如下:

装了几个插件后,就出现了各种报错,如下只粘了一条,各种命令找不到:

根据经验,应该是PATH设置得不对,但是无论怎么设置,就是不行。 后来各种google,终于找到了解决办法:

一大堆报错没了,但又有了新报错:

shopt报错的原因为:

解决方法:

  其中升级zsh命令为:

2019-05-21: 今天发现, 上下方向键不能搜索命令历史了, 后来统一在如下文件里定义(可以放到~/.oh-my-zsh/lib/key-bindings.zsh , 但是为了好管理, 还是统一放到.zshrc里):

 

shell脚本输出带文本颜色背景颜色自定义样式格式内容

shell脚本中 echo 和 printf 都可以输出内容。示例1:

它的格式是这样的:

格式说明 shell脚本中echo命令是内容显示,echo显示带颜色需要使用参数 -e 格式如下: echo -e “\033[字背景颜色;文字颜色m字符串\033[0m” 例如: echo -e “\033[41;36m something here \033[0m” 其中41的位置代表底色, 36的位置是代表字的颜色 注: 1、字背景颜色和文字颜色之间是英文的”;” 2、文字颜色后面有个m 3、字符串前后可以没有空格,如果有的话,输出也是同样有空格 特效可以叠加,需要使用“;”隔开,例如:闪烁+下划线+白底色+黑字为 \033[5;4;47;30m闪烁+下划线+白底色+黑字为\033[0m 再来看示例1的第3个命令:

  这个命令解释: 47 代表背景色为白色, 30 代表字体为黑色, 5 代表字体闪烁, 0 代表关闭所有属性 输出字符 “david use echo say”,然后重新设置屏幕到缺省设置,输出字符 “Hello World”后颜色回复正常。 -e是echo的一个可选项,用于激活特殊字符的解析器, Read more…

Linux登录提示信息动态显示

2023-10-10更新: 用tput sgr0进行属性还原时,在web页面输出会显示出一个(B符号,如下: 参考https://github.com/rburns/ansi-to-html/issues/25 解决方法是,增加一个变量:TERM=ansi 整体脚本如下:

    2023-8-1更新: dymotd:

color.awk:

  2023-7-29更新: 去除了日历和时间显示,感觉很鸡肋,增加了进程使用CPU和Mem时的报警,合并了load为一条: dynmotd:

  color.awk:

  2023-7-14更新: 颜色显示统一用tput:

  另外, figlet字体文件可从这里下载: https://github.com/xero/figlet-fonts/tree/master 字体效果可以在这里看: https://devhints.io/figlet   2023-6-26更新: 美化了一下样式: dynmotd:

color.awk:

某些情况下可能因为磁盘等原因, 导致df等命令执行时间长,导致登录不进服务器, 所以可以增加执行的超时时间:在/etc/profile中添加5秒超时: timeout 5s /usr/local/bin/dynmotd     —— 2023-4-28更新: 简化了一下显示,增加了显示条: Read more…

Pycharm补丁激活方式

同时适用于jetbrains全系列可用例:IDEA、WebStorm、phpstor 破解补丁激活 下面以Pycharm为例: 第一步:下载补丁文件 如果是2017.2以上版本的,需要JetbrainsCrack-2.6.6及以上版本 如果是2018.1及以上版本的,需要JetbrainsCrack-2.8及以上版本 下载地址: https://www.meaninglive.com/download/JetbrainsCrack-2.8-release-enc.jar 第二步:将下载好的补丁放在idea的安装目录下面的bin文件夹下面 1.png 第三步:修改配置文件 找到bin目录下的pycharm.exe.vmoptions和pycharm64.exe.vmoptions,用记事本打开,在最后一行添加 (红色字体为Pycharm的安装目录bin目录): -javaagent:D:\E盘\Pycharm\PyCharm 2018.1.4\bin\JetbrainsCrack-2.8-release-enc.jar 第四步:启动Pycharm,当需要激活时,选择activation code,复制注册码到Acrivation code中的空白处,点击OK,破解成功 1>、激活注册码首先需要修改系统的hosts文件 Windows系统hosts文件路径为:c:\windows\system32\drivers\etc 将0.0.0.0 account.jetbrains.com添加到hosts文件最后 修改后请检查hosts文件是否修改,激活码无法激活或者被取消的原因99%是因为hosts没有修改正确