我有一个文本文件,其中的单词由制表符分隔。某些行在第二栏中可能没有单词,第三行也没有。如何在sed的第二列和第三列中获取单词(如果存在的话)?
abc cde def
abc his
abc rat
如何获取cde和def?他的?老鼠?
这就是我尝试过的
sed 's/^.*\([^\t]\)$/\1/'
但我的输出为空
答案 0 :(得分:2)
保持简单
sed 's/^[^\t]*\t//' table.txt
用下面的\t
字符替换第一列,并使用一个空字符串。
这将仅产生相关列。
答案 1 :(得分:0)
console.log('http://www.google.com?q=' + encoded)
答案 2 :(得分:0)
处理1列,4列等的Sed答案:
sed -E 's/[^\t]*(\t|$)//;s/(([^\t]*(\t|$)){1,2}).*/\1/'
删除第一列,也许只有一列。修剪剩下的第一和第二列。
这很大程度上是awk
或cut
的问题。
在perl中,是这样的:perl -lne 'print join "\t", (split /\t/)[1..2]'
答案 3 :(得分:0)
您可以使用sed实现此目的,但只需使用cut提供一种更简单的方法
cut -d$'\t' -f'2,3' table.txt
# or
# Press Ctrl+V and then Tab when entering delimiter character
cut -d' ' -f'2-3' table.txt