从特定字符开始删除所有文本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从特定字符开始删除所有文本相关的知识,希望对你有一定的参考价值。
我有一个文件设置
TEXT1:TEXT2
基本上由:
分隔的文本行
我希望:
右边的所有文字都没了,所以TEXT1:TEXT2
会变成TEXT1
答案
Using cut
我们告诉cut
我们的字段分隔符是冒号,-d:
,我们要选择第一个字段-f1
:
$ cut -d: -f1 file
TEXT1
Using sed
我们告诉sed删除一行上的第一个冒号以及之后的所有内容:
$ sed 's/:.*//' file
TEXT1
Using grep
我们告诉grep选择每个的第一部分,但不包括第一个冒号:
$ grep -o '^[^:]*' file
TEXT1
另一答案
awk -F: '{$0=$1}1' infile
TEXT1
将“:”设为分隔符,然后将column1设置为记录。
另一答案
下面的脚本
awk -v FS=":" '{print $1}' file
也会给你相同的结果。
另一答案
在AWK中,替换:
之后的所有内容:
$ awk 'sub(/:.*/,"",$0)' test
TEXT1
另一答案
使用sed
sed -i.bkp 's/:.*//' infile.txt
这也将更改文件并创建名为infile.txt.bkp
的备份文件
使用grep
grep -oP '.*(?=:)' infile.txt
以上是关于从特定字符开始删除所有文本的主要内容,如果未能解决你的问题,请参考以下文章