有时我们经常会遇到这样一些问题:有一页电话号码薄,上面按顺序规则地写着人名、家庭住址、电话、备注等,此时我们只想取出所有人的名字和其对应的电话号码,你有几种方法可以实现呢?
确实这种纵向定位的方式用常规办法难以实现,这时,cut就可以大显身手了。
What’s cut?
子曰:cut命令可以从一个文本文件或者文本流中提取文本列。
命令用法:
cut -b list [-n] [file ...]
cut -c list [file ...]
cut -f list [-d delim][-s][file ...]
参数:
-b, --bytes=LIST
输出 这些 字节
-c, --characters=LIST
输出 这些 字符
-d, --delimiter=DELIM
使用 DELIM 取代 TAB 做 字段(field) 分隔符
-f, --fields=LIST
输出 这些 字段
-n
(忽略)
-s, --only-delimited
不显示 没有 分隔符 的 行
--output-delimiter=STRING
使用 STRING 作为 输出分隔符, 缺省 (的 输出分隔符) 为 输入分隔符
--help
显示 帮助信息, 然后 结束
--version
显示 版本信息, 然后 结束
使用 且 只使用 -b, -c 或 -f 中的 一个 选项. LIST 由 一个 范围 (range) 或 逗号 隔开的 多个 范围 组成. 范围 是 下列 形式 之一:
N
第 N 个 字节, 字符 或 字段, 从 1 计数 起
N-
从 第 N 个 字节, 字符 或 字段 直至 行尾
N-M
从 第 N 到 第 M (并包括 第M) 个 字节, 字符 或 字段
-M
从 第 1 到 第 M (并包括 第M) 个 字节, 字符 或 字段
如果 没有 指定 文件 FILE, 或 FILE 是 -, 就从 标准输入 读取 数据.
示例:
复制代码代码如下:
[root@localhost ~]# cat /etc/passwd | cut -b 1 |head -5 #输出文件的第一个字节
r
b
d
a
l
复制代码代码如下:
[root@localhost ~]# cat /etc/passwd | cut -c 1-4 |head -5 #输出文件的前四个字符
root
bin:
daem
adm:
lp:x
复制代码代码如下:
[root@localhost ~]# cat /etc/passwd | cut -f1 -d ':' |head -5 #以:分割文件,输出第一个字段
root
bin
daemon
adm
lp
复制代码代码如下:
# cat a.txt
ssss affff dddd fe fsc
rrr f adfa eer ddd
复制代码代码如下:
# cat a.txt |cut -f1,3 -d $'\t' #1,3列
ssss dddd
rrr adfa
Linux,cut
更新动态
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]