如何使用sed将以下属性剪切为只有MAC
?
MAC evbyminsd58df
我做到了这一点,但它在另一方面起作用:
sed -e 's/^.\{1\}//'
答案 0 :(得分:11)
只需删除空间中的所有内容:
$ echo "MAC evbyminsd58df" | sed 's/ .*//'
MAC
正如您所提到的那样,您可以使用cut
选择基于空格的第一个字段作为分隔符:
$ echo "MAC evbyminsd58df" | cut -d" " -f1
MAC
使用纯Bash,其中任何一个:
$ read a _ <<< "MAC evbyminsd58df"
$ echo "$a"
MAC
$ echo "MAC evbyminsd58df" | { read a _; echo "$a"; }
MAC
答案 1 :(得分:4)
cut
(空格作为分隔符,选择第一个字段):
echo "MAC evbyminsd58df" | cut -d " " -f 1
awk
(选择打印第一个字段,空格为默认分隔符):
echo "MAC evbyminsd58df" | awk '{print $1}'
答案 2 :(得分:2)
使用grep如下,
grep -o '^[^ ]\+' file
OR
grep -o '^[^[:space:]]\+' file
^
断言我们刚开始。 [^[:space:]]
否定POSIX字符类,它匹配任何字符但不匹配空格,零次或多次。