我的文件包含x行数,我想删除每行开头和结尾的引用字符串之前和之后的字符串。 要删除的引用字符串和字符串由空格分隔。
该文件包含:
test.user.passs
test.user.location
global.user
test.user.tel
global.pass
test.user.email string_err
@ttt...> test.user.car ->
test.user.address
è_ 788 test.user.housse
test.user.child
{kl78>&é} global.email
global.foo
test.user.foo
如何删除包含“test”字符串的每行开头的字符串,以及用sed
空格或制表符分隔的每行结尾?
期望的结果是:
test.user.passs
test.user.location
global.user
test.user.tel
global.pass
test.user.email
test.user.car
test.user.address
test.user.housse
test.user.child
{kl78>&é} global.email
global.foo
test.user.foo
答案 0 :(得分:2)
我将您的问题解释为:找到第一个单词“单词字符和至少一个点”
的Tcl:
echo '
set fh [open [lindex $argv 1] r]
while {[gets $fh line] != -1} {puts [regexp -inline {\w+(?:\.\w+)+} $line]}
' | tclsh - file
SED
sed -r 's/.*\<([[:alpha:]]+(\.[[:alpha:]]+)).*/\1/' file
perl的
perl -nE '/(\w+(\.\w+)+)/ and say $1' file
答案 1 :(得分:1)
使用sed喜欢
sed -r 's/^[^ ]+[ ]+([^ ]+)[ ]+[^ ]*/\1/' file
答案 2 :(得分:1)
这可能适合你(GNU sed):
sed -r 's/.*(test\S+).*/\1/' file