awk与cut在以空格为分割域时的区别

awk默认以空格为分割域,比如我想获得某进程pid:
[[email protected] ~]# ps -ef|grep "sshd -f"|grep -v grep
root      5088     1  0 14:28 ?        00:00:00 /usr/sbin/sshd -f /app/oslinkd/oslinkd_config

用awk如下写:
ps -ef|grep "sshd -f"|grep -v grep|awk ‘{print $2}‘
这样即可获得pid : 5088

但是用cut,若以空格为分隔域,则并不是第二个域,而是第七个域,因为root与5088之间有6个空格:
ps -ef|grep "sshd -f"|grep -v grep|cut -d‘ ‘ -f7

结论:
awk 以空格为分割域时,是以单个或多个连续的空格为分隔符的;
cut则是以单个空格作为分隔符。

时间: 2024-11-05 19:35:14

awk与cut在以空格为分割域时的区别的相关文章

显示行号的6种方法、chkconfig、tar、awk、cut过滤字符串、ps配合wc查看过滤进程

Day10 Georgekai-习惯:操作前备份,操作后检查 第1章 第二波剩余命令:显示行号的6种方法.chkconfig.tar.awk.cut过滤字符串.ps配合wc查看过滤进程 1.1 打印配置文件nginx.conf内容的行号及内容,该如何做? 1.1.1 花括号的作用 {} 注:生成序列,连续输入显示到屏幕,包括数字和字母 例1:[[email protected] ~]$ echo {1..10} 1 2 3 4 5 6 7 8 9 10 例二:[[email protected]

awk 部分 cut部分 &&网络部分复习

<<"com" shell file and  learn awk name        Chinese   Maths English wz           55       77      96       wzzx         66       66      69 sts          77       55      88 com awk '{print ($2+$3+$4)}' log  #  #0 #228 #201 #220  awk '{pr

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

java将一个或者多个空格进行分割

public static void main(String[] args) { String s = "GET /index.html HTTP/1.1";//字符串s由“GET”.“/index.html”和“HTTP/1.1”组成,中间有一个或多个空格 String tt[] = s.split("\\s{1,}");//按照空格分割字符串,多个空格作为一个空格对字符串进行分割 for(String str: tt){//增强的for循环 System.out

java类中与js中split分割字符串转数组区别

java类中,以","分割,将字符串转化为数组 String str = "a,b,c,"; String[] arr = str.split(","); System.out.println(arr.length); 输出长度为3,arr[0]="a"; arr[1]="b"; arr[2]="c"; js中,以","分割,将字符串转化为数组 var str = &

QString 分割字符串时产生乱码的问题

QString 提供了字符分割的封装函数split,我所用到的原型如下: QStringList split(const QString &sep, SplitBehavior behavior = KeepEmptyParts,                      Qt::CaseSensitivity cs = Qt::CaseSensitive) const Q_REQUIRED_RESULT; 参照声明可以发现,使用时无特殊要求传入第一个分割标识即可,按照分割标识分割后返回的子串存

./(点斜杠)与. (点空格)执行脚本文件的区别

首先普及一个知识点:. (点空格)莫个脚本文件相当于利用source文件执行这个脚本. source命令用法: source FileName 作用:在当前bash环境下读取并执行FileName中的命令. 注:该命令通常用命令"."来替代. 如:source .bash_rc 与 . .bash_rc 是等效的. 注意:source命令与shell scripts的区别是, source在当前bash环境下执行命令,而scripts是启动一个子shell来执行命令.这样如果把设置环境

java的string.split()分割特殊字符时注意点

[1]单个符号作为分隔符 String address="上海|上海市|闵行区|吴中路"; String[] splitAddress=address.split("\\|"); //如果以竖线为分隔符,则split的时候需要加上两个斜杠[\\]进行转义 System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]); String address="上

linux head tail cut 命令

==================head================== 默认输出文件内容的前10行 NAME - output the first part of files SYNOPSIS( 大纲,摘要) - head [option]... [file]... 参数 -n 指定行 -c --bytes -v 显示文件的文件名 ------------------------------- #显示前5行 head -n 5 /etc/inittab head -5 /etc/ini