使用awk或grep删除文件中某行的第一个字符

Dum*_*ats 1 bash awk grep

我试图从一行中删除某个模式,但不是整行本身.一个例子是:

原版的:

user=dannyBoy
Run Code Online (Sandbox Code Playgroud)

期望:

dannyBoy
Run Code Online (Sandbox Code Playgroud)

我有一个充满类似行的文件,所以我想知道如何删除文本的特定部分,无论是从列表中删除前五个字符还是搜索模式"用户="并删除它.

fed*_*qui 5

有很多方法可以做到这一点:

cut -d'=' -f2- file

sed 's/^[^=]*//' file

awk -F= '{print $2}' file #if just one = is present
Run Code Online (Sandbox Code Playgroud)
  • cut设置分隔符(-d'=),然后打印从第二个(-f2-)开始的所有字段.
  • sed查找从开头到第一个的所有内容=并将其删除.
  • awk设置=为字段分隔符并打印第二个字段.

  • @Dumpcats with cut你可以指定一个字段(如第一个字段的`-f1`)或范围(如`-f2-`).`2 -`表示从第二个到结尾的所有字段,在这种情况下不需要,因为只有2个字段. (2认同)