awk/cut:跳过前两个字段并打印其余行
时间:2020-01-09 10:45:55 来源:igfitidea点击:
如何跳过一行开头的前两个或者三个字段,并打印其余行。
比如输入:
This is a test hello shell
我想输出为:a test hello shell
如何在UNIX或者Linux下使用awk从nth字段打印行操作系统?
您可以如下使用awk命令。
语法如下,以跳过前两个字段并打印其余字段(感谢danliston):
awk '{ =""; =""; print}' filename
要跳过前三个字段,请执行:
awk '{ =""; =""; =""; print}' filename
您也可以指定输入字段分隔符。
在此示例中,使用:作为输入字段分隔符:
awk -F':' '{ =""; =""; print}' filename
旧解决方案
我的旧解决方案是跳过前两个文件并打印其余行:
echo 'This is a test' | awk '{print substr(substr(s, i [, n]), index(awk '{print substr(,))}'echo 'This is a test' | cut -d ' ' -f3 cut -d ' ' -f3, index(#!/bin/bash _input="/path/to/file.name.txt" while IFS= read -r line do cut -d ' ' -f3- <<<"$line" ### same stuff with awk ### ### awk '{print substr(,))}'-v Show version -d Set delta value -o Set output file name -i Set input filename for this command, index(awk 'BEGIN{ print "<table>"} { printf "<tr><td>%s</td><td>", ; =""; print ##代码## "</td></tr>"} END{ print "</table>"}' data.txt,))}' <<< "$line" ### done < "${_input}"
您还可以使用substr:
##代码##它返回从i开始的s的最多n个字符的子字符串。
如果省略n,则使用s的其余部分。
所以:
您还可以使用cut命令:
##代码##最后,使用bash while循环处理文件:
##代码##如何使用awk创建HTML表格
假设您在名为data.txt的文本文件中具有以下数据:
##代码##要创建html表代码,请运行:
##代码##