获取文件的第一个字

获取文件的第一个字

我正在使用以下命令来获取文件的第一个字

awk '{print $1}' myFile

但它正在打印所有行的第一个单词

答案1

awk将在每一行上运行命令(除了BEGIN/END块等)。因此...处理完第一行后退出:

awk '{print $1; exit}' /some/file

或者仅包含第一行:

awk 'FNR == 1 {print $1}' /some/file #still runs the test on all lines

答案2

您可以使用sed

sed -nr '1s/^([^ ]+).*/\1/p' file.txt
  • 1替换模式开头的 表示我们只处理文件的第一行

  • [^ ]+将找到第一个空格分隔的单词,我们将其放入一个组中,以便稍后在替换模式中引用它

  • s/^([^ ]+).*/\1/将仅用第一个单词替换第一行

答案3

awk没有或的不同方法sed

tr ' ' '\n' < file.txt | head -n1

相关内容