linux怎么获取名字的前几个字符

上星期。
我尝试了剪切命令。
2 02 3 年 3 月 1 5 日。
我在虚拟机中工作。
该文件的内容是: 姓名=约翰·多伊 年龄=2 5
我输入:cut -d'=' -f2 file
屏幕显示: 约翰·多伊 2 5
作品。

后来我想用管道。
添加一个剪切。
删除引号。

我输入:cut -d'=' -f2 file | cut -d'"' -f1
这次有问题,第二次cut好像没反应。

算了,可能是文件内容太简单了,试试吧。

就可以知道了。

linux shell中几种特殊变量和字符串的截取

1 、截掉前8 位:echo ${var} |切-c 1 -8 2 、用绳子剪断:
最后一个“字符串”之后: echo ${var} |剪切-d字符串-f 2 -
在第一个“字符串”之后: echo ${var} |剪切 -d 字符串 -f 2
在最后一个“字符串”之前: echo ${var} |剪切-d字符串-f 1
在第一个“字符串”之前: echo ${var} |剪切-d字符串-f 1 -1 3 、分割后取后缀:echo ${var} | awk -F。
'{print $NF}'
你可以自己称一下。

Linux Shell?文本处理神器合集:15?个工具?+?实战例子,效率直接翻倍

1 5 个 LinuxShell 工具;高性能。

cat:查看文件内容;结合并创造。
示例:将 log1 .txt 和 log2 .txt 添加到 merge.log。

Head/Tail:截取头尾组成; tail -f 监视日志。
选项:-n2 0。
示例:tail -n2 0 app.log。

wc:句子;字和字节都被计算在内。
选项:-l 行数; -w 字数统计。
示例: grep "ERROR" app.log |厕所-l。

查找:根据条件查找文件。
选项--名称“.log”。
示例:find /var/log -name ".log" -mtime -7 grep:按照常规规则匹配文本。
选项:-i 忽略事件; -v 反向匹配。
示例:grep -v "^" /etc/nginx.conf。

剪切:按列提取文本。
选项-d“,”,-f1 ,3 示例:cut -d "," -f1 ,2 users.csv。

粘贴:按列添加文件。
选项-d“,”。
示例: -d "," col1 .txt col2 .txt > Paste merged.csv
子类别:对文本行进行排序。
选项:-n 数字类型; -r 反向类型。
例如:子类别-nrnumbers.txt。

uniq:删除连续的重复行并统计重复次数。
选项:c 计数计数; -d 仅显示双线。
示例:ip.txt |排序一下。
uniq-c。

tr:字符替换;删除或压缩。
示例: tr -d " " < input.txt > output.txt 。

xargs:将输入转换为命令参数。
选项:n5 例如:搜索。
-名称“.tmp”| xargs rm。

sed:流编辑器。
语法:sed 's/old/new/g'。
示例:sed -i 's/old/path/new/pathg' config.conf。

awk:处理列中的文本。
选项 -F "," 示例:awk -F "," '{sum += $2 }' END {print sum} data.csv。

diff:比较文件差异。
选项: -u 编译格式变量。
示例:diff -u old.conf new.conf。

patch:使用补丁文件。
语法:patch < diff>示例:补丁 -p1 < 更改.补丁。

实际集成:
日志错误分析:统计最近7 天nginx日志中“5 00错误”的IP和次数,并按降序排序。
命令语法:find /var/log/nginx -name ".log" -mtime -7 -exec grep "5 00" {} | awk '{print $1 }' |同质组 | uniq-c|血统 - 没有。

CSV 数据清理:删除 CSV 文件中的空白行并提取前两列。
命令组合:grep -v "^$" data.csv | cut -d "," -f1 ,2 > clean.csv。

批处理文件:删除所有.c文件中的“TODO”注释行,并备份原文件。
命令组合:查找。
-name ".c" -exec sed -i.bak 's/TODO//g' {};
管道组合:find + xargs; grep + awk 排序 + uniq。

掌握这些工具可以快速完成日志分析和数据清理任务。

linux中有哪些常用的转义字符?

哎呀,我当年在Linux上的Shell转义字符方面确实犯了很多错误。
让我告诉你我的真实经历。

比如我刚学Linux的时候,写脚本时总是看不懂双引号“”。
一年冬天,我在北京的一台服务器上搭建了一个环境,定义了一个变量PRICE=1 5 我想输出Price is $PRICE,但是没有添加双引号,我直接回显Price is $PRICE,并且Price is 1 5 被打印到屏幕上,没有美元符号。
后来加了双引号,echo“Price is $PRICE”,嘿嘿,没错,Price is $1 5 就正常打印了。
这个教训我记了很久。

反斜杠\,我也遇到了这个问题。
到了上海后,我需要输出一个特定的数字 $5 ,而不是 PRICE 变量的值。
我认为这是理所当然的,并使用了“价格是$$PRICE”回声。
结果,Price is $1 5 被打印到屏幕上,反斜杠后面的 $ 仍然被视为变量。
后来我意识到我必须用两个反斜杠保存它并回显“价格是 5 美元”,然后我输入价格是 5 美元。
真是相当麻烦啊。

单引号',我对此也印象深刻。
一年夏天,我在杭州调试一个脚本,想确保其中的所有变量都没有被替换,直接当作普通字符串处理。
例如,如果我输入 echo 'Price is $PRICE',无论 PRICE 是如何定义的,它都会打印为 Price is $PRICE,而不替换单个字符。
这个功能当时对我帮助很大,避免了很多事故。

返回,我很少使用这个,但我也有一次难忘的经历。
可能是某年秋天,我在深圳的生产环境,需要动态获取当前时间,然后输出到日志中。
我用backticket做了一些事情,echo "Today is "date",嘿嘿,这个把运行date命令的结果直接放到字符串中,打印出来的结果是Today is Mon Oct 2 7 1 4 :4 8 :1 0 CST 2 01 4 (具体时间根据当时的情况而定)。
用了几年,我逐渐熟悉了,如果我多用、多实践,我就会想出如何避免的。