awk基础

https://github.com/wuzhouhui/awk/blob/master/The_AWK_Programming_Language_zh_CN.pdf 0. 实用一行手册 输入行的总行数 END { print NR } 打印第 10 行 NR == 10 打印每一个输入行的最后一个字段 { print $NF } 打印最后一行的最后一个字段 { field = $NF } END { print field } 打印字段数多于 4 个的输入行 NF > 4 打印最后一个字段值大于 4 的输入行 $NF > 4 打印所有输入行的字段数的总和 { nf = nf + NF } END { print nf } 打印包含 Beth 的行的数量 /Beth/ { nlines = nlines + 1 } END { print nlines } 打印具有最大值的第一个字段, 以及包含它的行 (假设 $1 总是 正的) 18 $1 > max { max = $1; maxline = $0 } END { print max, maxline } 打印至少包含一个字段的行 NF > 0 打印长度超过 80 个字符的行 length($0) > 80 在每一行的前面加上它的字段数 { print NF, $0 } 打印每一行的第 1 与第 2 个字段, 但顺序相反 { print $2, $1 } 交换每一行的第 1 与第 2 个字段, 并打印该行 { temp = $1; $1 = $2; $2 = temp; print } 将每一行的第一个字段用行号代替 { $1 = NR; print } 打印删除了第 2 个字段后的行 { $2 = ""; print } 将每一行的字段按逆序打印 printf("\n") }``` 18....

October 18, 2024 · 4 min · 李昌

zsh的基本配置

1. 按照Oh my zsh $ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" 2. 配置Oh my zsh 将zsh设置为默认Shell (脚本的最后一般会问你是否切换) chsh -s /bin/zsh # 不需要使用root权限 更换主题 vim ~/.zshrc 找到ZSH_THEME='robbyrussell', 更换为你想要使用的主题,可以在这里找到你想要的主题 安装插件 vim ~/.zshrc 找到plugins=(), 添加插件名称,我这里添加的插件有: plugins=(git zsh-autosuggestions zsh-syntax-highlighting) git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions 完成 source ~/.zshrc # 启动zsh 3. 使用主题powerlevel10k 下载主题 git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k 打开你的~/.zshrc,将主题换为:powerlevel10k/powerlevel10k 更改保存并使用主题 source ~/.zshrc 这时powerlevel10k会自动启动,询问你想要的配置 按照提示配置你想要的风格即可

May 20, 2021 · 1 min · 李昌

VsCode Snippets功能的使用

VsCode Snippets的Snippets功能 snippets是代码片段, 在这里的意思是代码模板. 在使用vscode写代码时,有时需要使用代码模板,一个典型的例子是在写文件头注释时,需要一个固定格式的注释,来表明当前的时间、作者等。 1. 使用内置的snippets vscode中已经为我们内置了许多语言的代码模板,在安装了对应的语言插件后,可直接使用这些snippets. 2. 安装来自marketplace的snippets 按Ctrl+Shift+X打开marketplace, 输入@category:"snippets",即可下载来自marketplace的snippets 3. 自定义snippets 如果你对内置的或来自marketplace的snippets均不满意,那么你可以自定义你的snippets. 在File > Preferences > User Snippets选项下,选择你要定义snippets的文件类型 在选择了文件类型之后,你就可以根据vscode提供的Example自定义snippets了. Example: "Print to console": { "prefix": "log", "body": [ "console.log('$1');", "$2" ], "description": "Log output to console" "Print to console"是你自定义的snippets的名字,prefix为前缀,在输入了你定义的prefix后,body中的内容就会输出到当前光标的位置. 在body中,你可以使用"variables“来描述你的snippets, 其格式为: ${1:label}: 其中的1表示在body输出后光标会第一个停放在这个位置,而label是对当前variables的描述. ${1|one, two, three|}: 这个语法格式将提醒你选择one, two, three中的一个值. $name或${name:default}: 其中的name为预定义的变量名,可使用default指定其默认值.预定义的变量名有如下: 有关文件与目录的 TM_SELECTED_TEXT当前选定的文本或空字符串 TM_CURRENT_LIN当前行的内容 TM_CURRENT_WORD光标下或空字符串下的单词内容 TM_LINE_INDEX基于零指数的行数 TM_LINE_NUMBER基于一个索引的行数 TM_FILENAME当前文档的文件名 TM_FILENAME_BASE没有扩展的当前文档的文件名 TM_DIRECTORY当前文档的目录 TM_FILEPATH当前文档的完整文件路径 CLIPBOARD剪贴板的内容 WORKSPACE_NAME打开的工作区或文件夹的名称 WORKSPACE_FOLDER打开的工作区或文件夹的路径 有关时间的...

March 8, 2021 · 1 min · 李昌