awk之FS的指定

awk之FS的指定
file:
FAN1 | 11h | ok | 160.96 | 11139 RPM
FAN2 | 12h | ok | 160.96 |       RPM
FAN3 | 13h | ok | 160.96 | 10763 RPM
FAN4 | 14h | ok | 160.96 | 10998 RPM
FAN5 | 15h | ok | 160.96 | 11515 RPM
[code]
awk -F ‘[ ]‘ ‘{print $9}‘ file
awk -F ‘[ ]‘ ‘($9>11000)‘ file
#awk指定一个空格为分开符
awk -F ‘[ ]‘
1.利用空缺字符作为分开字段
将FS设置为一个空格,这种情况下,记载的前导空缺和结尾
空缺(空格或者制表符)将被忽略。FS默认为一个空格
awk -F " "
指定一个空格,开头末尾空白被忽略
awk ‘{}‘ file
2.利用单个字符
awk -F ","
awk ‘BEGIN{FS=","}‘
3.设置了不止一个字符作为字段分开符,将作为一个正则表达式来解释
分割符与正则表达式匹配的最左边最长的非空的不重叠的子串
#指定一个制表符
FS="\t"
#指定一个或者多个制表符
FS="\t+"
利用正则表达式指定几个字符作为分隔符
FS="[‘:\t]"
4.每个字符都是一个域
FS=""

$ echo ’ a b c d’ | awk ’{ print; $2 = $2; print }’
  a b c d
a b c d
第一次原样输出
第二次$2的指派重组了$0,只是将$1至$NF组合起来成为新的$0
所以开头空格被忽略

更多脚本,请参见:100脚本网
时间: 2024-08-05 19:36:46

awk之FS的指定的相关文章

awk中FS指定分隔符和IGNORECASE忽略大小写

[[email protected] ~]# cat 123.txt JDBC.URL=jdbc:oracle:thin:@127.0.0.1:1521:orcl DBC.URL=jdbc:oracle:thin:@127.0.0.1:1521:orcl DC.URL=jdbc:oracle:thin:@127.0.0.1:1521:orcl [[email protected] ~]# echo "`cat 123.txt |grep -i ^jdbc.url | awk -F "=

awk 中 FS的用法

在openwrt文件 ar71xx.sh中 查询设备类型时,有这么一句, machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /proc/cpuinfo)解决:1)查看cpuinfo[email protected]:/dev# cat  /proc/cpuinfo system type             : Qualcomm Atheros QCA9533 rev 2machine            

awk -F选项同时指定多个符号做为分割符时遇到空格坑,题目:请执行命令取出 linux 中 eth0 的 IP 地址

第三关课前考试题:3.请执行命令取出 linux 中 eth0 的 IP 地址(请用 cut,有能力者也可分别用 awk,sed 命令答) 因为以前有个题讲过awk -F选项可以指定输入分割符,也可以同时使用多个符号作为分割符对文件进行切割,所以我决定先使用awk -F 以前awk -F同时指定多个分割符的例子: [[email protected] ~]# cat oldboy.txt I am oldboy,myqq is 31333741 [[email protected] ~]# aw

测试python awk sed 读取文件指定位置时的性能

#!/bin/env python #coding:utf8 ''' awk 打印指定行数 sed 打印指定行数 python 打印指定位置,某长度字符串 awk 耗时最长,很长 sed awk 时间一半 python 耗时 基本忽略不计 使用脚本监控日志文件的时候,每次记录上次退出的位置 python效率最高. ''' import os from  time import time from os.path import getsize testfile='/dev/shm/%s' % ti

ps grep awk kill -9 杀掉指定的进程

程序成为僵尸进程以后需要通过进程号来强制终止,因此先需要获取进程的pid ps | grep test | awk 'NR==1{print $1}' 获取test进程的ID,具体形式要按照linux输出的格式来,我的设备中的是第一行的第一列的第一个参数即为test的PID 由于通过管道把PID传给KILL -9无法生效.因此需要使用 ps | grep cwmpd | awk 'NR==1{print $1}' | xargs kill -9 但是当前嵌入式设备上无法使用xargs 所以我们需

awk指定列修改

遇到个处理文本文件的问题 cat test.txt "355356"        "1700870"       "1"     "0202"  "" "355356"        "1700871"       "2"     ""    "02046" "355356"      

awk之RS、ORS、FS、OFS基础及举例

RS:Record Separator,记录分隔符 ORS:Output Record Separate,输出当前记录分隔符 FS:Field Separator,字段分隔符 OFS:Out of Field Separator,输出字段分隔符 PS:RS.ORS.FS.OFS的英文解释绝不是这样的,这里只是解释清楚.建议去阅读awk的英文读物,其中解释了缩写的含义. 什么是field(字段),什么是record(记录行)? 示例: 1.txt内容如下: i am a student. i li

Linux:批量修改分隔符(awk、BEGIN、FS、OFS、print命令)

批量修改文件的分隔符,可以用FS和OFS命令 FS:Field Separator,字段分隔符 OFS:Out of Field Separator,输出字段分隔符 假设有这么一个文件file1.txt,其内容如下: 可以看出,file1的分隔符很长,不止一个空格符组成,因此我们需要先将分隔符统一一下,输入一下命令: awk -F " " '{if($1~/^16/) print $1,$2,$3,$4}' file1.txt > file2.txt 生成file2.txt,如下

linux:awk之RS、ORS与FS、OFS

awk之RS.ORS与FS.OFS RS:Record Separator,记录分隔符 ORS:Output Record Separate,输出当前记录分隔符 FS:Field Separator,字段分隔符 OFS:Out of Field Separator,输出字段分隔符 PS:RS.ORS.FS.OFS的英文解释绝不是这样的,这里只是解释清楚.建议去阅读awk的英文读物,其中解释了缩写的含义. 什么是field(字段),什么是record(记录行)? 示例: 1.txt i am a