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表代码,请运行:
##代码##
