2

我有一个制表符分隔的文本文件,其结构如下:

word0  word1  word2  word3  word4  word5  word6

从 linux commond 行我想:

  1. 只获取word6
  2. 如何在 word6 中只获得字符 ord6?
4

4 回答 4

7


AWK 可以做到这一点:

 $ echo "word0 word1 word2 word3 word4 word5 word6" | awk '{ print $(NF) }'
 word6
于 2012-07-20T16:51:36.473 回答
0
string=$(echo "word0 word1 word2 word3 word4 word5 word6" | awk '{ print $(NF) }')
echo ${string:3:4}  # echo substring starting at postion3, 4 characters long i.e. ord6

或者

echo ${string[@]#w} # removes the shortest possible match for the regex 
                    # (i.e. w) at the start of the string 

## 最长匹配,% & %% 删除字符串的后面

于 2012-07-20T21:35:03.623 回答
0

您可以使用cut给定的简单命令:
$cut -d'Press CTRL+v then TAB key to insert tab as delim here' -f6 textfile|cut -c2-
ord6
$

有关更多信息,请查看 cut 命令的手册页。

当然,还有很多其他方法可以做同样的工作。

于 2012-07-20T17:14:40.947 回答
0

尝试这个

awk -F "\t" '{print $NF}' Input.txt

根据需要更改分隔符。

于 2012-07-20T17:55:14.253 回答