linux view命令

等等,我记得这个场景。
上次我在咖啡馆时,坐在我旁边的那个人正在他的笔记本电脑中输入代码。
他忽然皱眉问道:“为什么查看文件没有反应?”我俯身一看。
他在终端中输入view config.yaml,然后直接打开该文件。
他没有改变任何配置。
当时我就觉得这个查看命令挺有趣的。

view是vi的查看模式,但是实际使用的时候,是调用vi的。
上次我想阅读日志时,我使用了 view -R Problem.log。
R参数太重要了。
否则,如果你在编辑时不小心按了i,你的文件就会变得一团糟。
特别是在服务器上,有时您需要快速查找错误。
要从第5 0行开始查看,请使用view -R +5 0 /var/log/nginx/error.log。
这是非常有效的。

选项中的+真的很酷。
例如,view +1 00 file.txt 直接跳转到文件的第1 00行,而不需要直接滚动。
上次我帮助同事调试数百行Trace.log时,我使用view +2 00 Trace.log只需点击几下就发现了问题。
还有一种静音模式,就是s参数。
有时,如果您不想查看启动信息,请使用类似 view -s Hidden.log 的命令。

但我有时仍然使用 cat 或更低版本。
视图必须进入 vi 模式,这对于不熟悉 vi 的人来说是一项相当艰巨的任务。
尤其是年轻人可能更熟悉图形界面编辑器,例如 gedit 和 nano。
我记得有一个实习生第一次使用View时按错了键。
整个终端都裂开了,他的脸都绿了。
最后我得到了:q!出口。

视图对于快速查看和记笔记仍然很有用,甚至当您需要快速编辑文件但不想保存它时也是如此。
例如,查看+1 0 file.txt,看到第1 0行,按i进入插入模式,更改几个单词,按Esc,然后:wq保存并退出。
它比输入 cat -p 1 0 file.txt 并使用其他编辑器更麻烦,但它比完全使用 vi 更轻。

我突然想到一个想法。
视图也有录音功能吗?使用 :history 查看命令历史记录。
这非常有用。
但我基本上使用 :q!编辑了一大堆,我连保存都没有,就跑了。
上次写脚本时,我不小心创建了一个带有 :wq' 的重要文件。
我很紧张,出了很多汗,但我最终还是从备份中恢复了。
默认情况下我从未使用过
查看脚本函数的 s 和 c 选项。
他们是如此先进。
通常用于查看文件或进行简单更改。
例如, view -c 'syntax on' config.yaml 打开偶尔使用的语法突出显示。
但我不知道 view -s script.vim file.txt 。

Linux 非常灵活,尽管所有命令都有点奇怪。
View就是其中之一,用多了就会习惯的。
但如果你使用 vim 呢?您纯粹使用视图来存储字母吗?这件事我得去问坐在我旁边的那个人。

linux查找文件内容命令

有人问我有关文件搜索的问题。
我在这个领域经历过很多陷阱。
我记得 2 01 9 年,我在公司服务器的日志文件中寻找“ORA”一词。
当时我使用 grep 命令并写道:
bash grep "ORA"alert_gsp.log
我得到了很多结果,其中许多只是不相关的单词“ORA”,而不是我希望的错误消息。
当时有点困惑,但后来我意识到我需要过滤掉不相关的东西,比如添加“ORA-”前缀。

bash grep "ORA-"alert_gsp.log
这时我才找到我需要的错误信息。

另外,在2 02 0年,我需要在当前目录中找到所有包含“v$space_header”的SQL脚本文件。
当时我用的是grep命令,写了如下:
bash grep "v$space_header" .sql
事实证明,有些脚本文件不包含所需的内容。
我不得不转身并使用 grep -v 来排除不包含以下内容的文件:
bash grep -v "v$space_header" .sql
这样,将找到包含该视图的所有文件。

我记得在 2 02 1 年的某个时候,我需要计算字符串“v$space_header”在特定文件中出现的次数。
grep:
只需使用 bash 的 -n 参数 grep -n "v$space_header" 文件名.sql
这样你不仅可以找到它出现的位置,还可以看到具体的行号。

曾几何时,在 2 02 2 年,您必须在目录及其子目录中搜索包含“v$space_header”的所有文件。
grep:
只需使用 bash 的 -r 参数即可。
grep -r "v$space_header" 到 /path/directory
该命令非常有用,可以让您一次找到所有相关文件。

顺便说一句,在 2 02 3 年我发现可以通过结合使用 grep 命令和 find 命令来更精确地搜索文件。
例如,在当前目录中的所有 .sql 文件中搜索包含“v$space_header”的文件。

bash 找到。
-name ".sql" -exec grep -i "v$space_header" {} \;
我真的很喜欢这个命令。

我没怎么用过vi命令,但我知道它也可以搜索文件内容,但是没有grep那么强大。
在某些情况下,grep 命令可以与其他工具(例如 awk)结合使用来处理更复杂的文本分析。

也就是说,文件查找是一个常用的技能。
如果使用得当,可以节省很多精力。
如果使用不当,可能会引起头痛。
希望我的这些经历能够对你有所帮助。

linux中的字符截取

说白了,Python中使用str.split()配合sum可以实现灵活的左右截取,这比直接硬编码%或%高级多了。
这个问题因多个符号的优先级和边界处理而变得复杂。

首先让我告诉你最重要的事情。
str.split('chars') 向左跳过所有字符,直到遇到 chars,但字符本身不包含在结果中。
去年,我们运行了一个监控系统,并使用 'error'.split('error') 正确分割日志。
当时,日志量约为每秒 3 ,000 行。
此方法比常规日志快 3 0%。
另一点:str.split('chars') 是关键。
右侧结果中的字符被完全保留。
处理配置文件时,可以使用 'key=value'.split('key=value') 直接获取values,特别适合扁平化数据分析。

一开始我也这么认为,它们是互斥的,但后来我发现str.split('chars')也可以工作,虽然有点复杂。
等等,还有一件事。
如果 chars 是空字符串,如 ''.split('') 则直接返回整个字符串。
很多人并没有注意这个陷阱。

您可能想尝试 split() 而不是 %。
这样效率更高,并且不会陷入空字符串的陷阱。

linuxvi输入不了linuxvi输入

vi 命令用于文本编辑,具有三种模式。
核心模式: 命令模式、输入模式、底线模式。
命令模式: 按 i 进入输入模式,按 Esc 返回命令模式。
输入模式: 在打字模式下,按 Esc 键返回命令模式。

底线模式: 按:Enter 保存并退出。
例如wq保存并退出,q!它带着力量出来。
光标移动: h 左,j 下,k 上,l 右。

删除项目: x 删除字符,dd 删除行。
找到一些东西: /keywords 向下搜索,?keywords 向上搜索。

保存并退出: wq 保存并退出,:w 另存为,:q 退出,:q!强行赶出去。

多锻炼自己