我有这个输出:
Never logged in.
Last login Wed Jun 22 15:12 2016 (BST) on pts/11 from host1
我需要它而不(BST) on pts/11 from host1
需要这样:
Never logged in.
Last login Wed Jun 22 15:12 2016
我当前的命令是./lastlog.sh | xargs -n1 finger | grep -i 'Never\|Last'
答案1
./lastlog.sh | xargs -n1 finger | grep -i 'Never\|Last' | sed -e 's/ (.*$//'
答案2
... | grep -Po '^.*(?=\(BST)|^.*'
-P
使用 Perl 正则表达式功能(更强大,gnugrep)-o
仅打印匹配行的匹配(非空)部分^.*(?=\(BST)
找到一个字符序列,后跟(BST
右前瞻|
或者 ...^.*
任何其他字符序列
答案3
./lastlog.sh | xargs -n1 finger | grep -i 'Never\|Last' | awk -F'(' '{print $1}'