Shell脚本:如何剪切字符串的一部分

dei*_*mus 13 linux bash shell sed

我有以下字符串

â   â³ eGalax Inc. USB TouchController          id=9    [slave  pointer  (2)]
â   â³ eGalax Inc. USB TouchController          id=10   [slave  pointer  (2)]
Run Code Online (Sandbox Code Playgroud)

并想获得ID列表?如何使用sed或其他方法完成此操作?

Man*_*dan 34

我将您的示例的内容粘贴到名为的文件中so.txt.

$ cat so.txt | awk '{ print $7 }' | cut -f2 -d"="
9
10
Run Code Online (Sandbox Code Playgroud)

说明:

  1. cat so.txt将打印文件的内容stdout.
  2. awk '{ print $7 }' 将打印第七列,即包含的第七列 id=n
  3. cut -f2 -d"="将使用=作为分隔符切割步骤#2的输出并获取第二列(-f2)

如果你还想得到id=,那么:

$ cat so.txt | awk '{ print $7 }' 
id=9
id=10
Run Code Online (Sandbox Code Playgroud)

  • @ user229426:你的意思是_unnecessary_使用cat and cut,而不是_useless_,不是吗? (4认同)