我有一个包含以下行的文件。
#user
codecodecodecodecodecodecodecode
codecodecodecodecodecodecodecode
codecodecodecodecodecodecodecode
codecodecodecodecodecodecodecode;
#user1
code1code1code1code1code1code1
code1code1code1code1code1code1
code1code1code1code1code1code1
code1code1code1code1code1code1;
#user2
code2code2code2code2code2code2
code2code2code2code2code2code2
code2code2code2code2code2code2
code2code2code2code2code2code2;
#user (again "user" but with a different code)
code3code3code3code3code3code3
code3code3code3code3code3code3
code3code3code3code3code3code3
code3code3code3code3code3code3;
我想从“user
”中仅提取代码,我正在寻找的输出是:
#user
codecodecodecodecodecodecodecode
codecodecodecodecodecodecodecode
codecodecodecodecodecodecodecode
codecodecodecodecodecodecodecode;
#user
code3code3code3code3code3code3
code3code3code3code3code3code3
code3code3code3code3code3code3
code3code3code3code3code3code3;
结果仅重新调整了与“user”及其相应代码匹配的行。
我尝试了awk -F";" '{print $1}' $file
,但我无法隔离特定用户的代码。
答案 0 :(得分:2)
在perl one liner中:
perl -ne 'print if /^#/' in.txt
答案 1 :(得分:0)
您可以按如下方式使用awk:
awk -F\; '/code/' test.txt
假设字段分隔符为;
且格式为code
。
如果要打印特定的行或列,请分别使用awk的NR和NF变量。