我有一个制表符分隔的文本文件,其结构如下:
word0 word1 word2 word3 word4 word5 word6
从 linux commond 行我想:
- 只获取word6
- 如何在 word6 中只获得字符 ord6?
AWK 可以做到这一点:
$ echo "word0 word1 word2 word3 word4 word5 word6" | awk '{ print $(NF) }'
word6
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
## 最长匹配,% & %% 删除字符串的后面
您可以使用cut
给定的简单命令:
$cut -d'Press CTRL+v then TAB key to insert tab as delim here' -f6 textfile|cut -c2-
ord6
$
有关更多信息,请查看 cut 命令的手册页。
当然,还有很多其他方法可以做同样的工作。
尝试这个
awk -F "\t" '{print $NF}' Input.txt
根据需要更改分隔符。