首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >22.linux 文件管理命令:colrm删除指定的行iconv转换给定文件的编码

22.linux 文件管理命令:colrm删除指定的行iconv转换给定文件的编码

原创
作者头像
度假的小鱼
发布2025-01-14 13:15:18
发布2025-01-14 13:15:18
6650
举报
文章被收录于专栏:LinuxLinux

linux 文件管理命令:col过滤控制字符、colrm删除指定的行、fold限制文件列宽、 iconv转换给定文件的编码、dc任意精度的计算器、expr求表达式变量的值

col:过滤控制字符

  • 作用:在许多 UNIX 说明文件里,都有 RLF 控制字符。当我们运用 Shell 特殊字符“>” 和“>>”把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col 命令则能有效滤 除这些控制字符。
  • 用法:col -bfpx
  • 主要选项如下:

命令

描述

-b

过滤掉所有的控制字符,包括 RLF 和 HRLF。

-f

滤除 RLF 字符,但允许将 HRLF 字符呈现出来。

-x

以多个空格字符来表示跳格字符。

-l nline

预设的内存缓冲区有 128 列,可以自行指定缓冲区的大小。

案例练习

过滤 cat 手册页的 RLF 和 HRLF 字符并且重定向到文件 cat.man.txt。

代码语言:bash
复制
# man cat | col -b > cat.man.txt 

colrm:删除指定的行

  • 作用:从标准输入设备读取数据,转而输出到标准输出设备。如果不加任何参数,则该命 令不会过滤任何一行。
  • 用法:colrm [起始列 终止列]
  • 主要选项如下:

命令

描述

-V, --version

输出版本信息并退出。

-h, --help

显示此帮助并退出。

案例练习

删除 hello.c 文件第二行。

代码语言:bash
复制
# colrm 2 < hello.c

fold:限制文件列宽

  • 作用:从指定的文件里读取内容,将超过限定列宽的列加入增列字符后,输出到标准输出 设备。若不指定任何文件名称,而所给予的文件名为“-”,则 fold 命令会从标准输入设备读取 数据。
  • 用法:fold 选项... 文件...
  • 主要选项如下:

命令

描述

-b—bytes

以 Byte 为单位计算列宽,而非采用行数编号为单位。

-s—spaces

以空格字符作为换列点。

-w<每列行数>--width<每列行数>

使用指定的列宽代替默认的 80。

案例练习

调整 hello.c 最多宽度为 25 个字符显示。

代码语言:bash
复制
# fold -w 25 hello.c

iconv:转换给定文件的编码

  • 作用:转换给定文件的编码。
  • 用法:iconv 选项...
  • 主要选项如下:

输入/输出格式规范如下:

命令

描述

-f, --from-code=名称

原始文本编码。

-t, --to-code=名称

输出编码。

信息如下:

命令

描述

-l, --list

列举所有已知的字符集。

输出控制如下:

命令

描述

-c

从输出中忽略无效的字符。

-o, --output=FILE

输出文件。

-s, --silent

关闭警告。

verbose

打印进度信息。

-?, --help

给出该系统求助列表。

usage

给出简要的用法信息。

-V, --version

打印程序版本号。

案例练习

显示目前系统支持的字符集。

代码语言:bash
复制
# iconv -l|more 
437// 
500// 
500V1// 
850// 
…

dc:任意精度的计算器

  • 作用:dc 命令提供了一种交互式桌面计算器来完成任意精度的整数计算。
  • 用法:dc 选项
  • 主要选项如下:

命令

描述

-e, --expression=EXPR

计算表达式。

-f, --file=FILE

计算目录文件。

子命令如下

命令

描述

c

清洁堆栈。dc 命令弹出堆栈中的所有值。

d

复制栈顶值。

f

显示堆栈上的所有值。

i

弹出栈顶值并将其作为进一步输入的基数。

I

将输入基数压入栈顶。

k

弹出栈顶值并将其作为非负比例因子。

o

将栈顶值弹出并将其作为进一步输出的基数。

O

将输出基数压入栈顶。

P

显示栈顶值。顶部值不会发生改变。

q

退出程序。如果 dc 命令正在运行一个字符串,它将弹出递归级别为 2。

运算类型如下。 +,-,/,,%,^:对堆栈顶部的两个数进行加(+)、减(-)、乘()、除(/)、求余(%) 或取幂(^)。

案例练习

使用 dc 命令进行计算

代码语言:bash
复制
# dc 
7 
8 
* 
p 
56 
q 

expr:求表达式变量的值

  • 作用:expr 命令读入表达式 Expression 的参数,计算它的值,然后将结果写入到标准 输出。
  • 用法:expr 表达式 expr 选项
  • 主要选项如下:

命令

描述

--help

显示此帮助信息并退出。

--version

显示版本信息并退出。

将表达式的值列印到标准输出,分隔符下面的空行可提升算式优先级。

可用的表达式如下:

命令

描述

ARG1|ARG2

若 ARG1 的值不为 0 或者为空,则返回 ARG1,否则返回 ARG2。

ARG1&ARG2

若两边的值都不为 0 或为空,则返回 ARG1,否则返回 0。

ARG1<ARG2

ARG1 小于 ARG2。

ARG1<=ARG2

ARG1 小于或等于 ARG2。

ARG1=ARG2

ARG1 等于 ARG2。

ARG1!=ARG2

ARG1 不等于 ARG2。

ARG1>=ARG2

ARG1 大于或等于 ARG2。

ARG1>ARG2

ARG1 大于 ARG2。

ARG1+ARG2

计算 ARG1 与 ARG2 相加之和。

ARG1-ARG2

计算 ARG1 与 ARG2 相减之差。

ARG1*ARG2

计算 ARG1 与 ARG2 相乘之积。

ARG1/ARG2

计算 ARG1 与 ARG2 相除之商。

ARG1%ARG2

计算 ARG1 与 ARG2 相除之余数。

字符串:表达式

定位字符串中匹配表达式的模式。

match 字符串 表达式

等于“字符串:表达式”。

substr 字符串 偏移量 长度

替换字符串的子串,偏移的数值从 1 起计。

index 字符串 字符

在字符串中发现字符的地方建立下标,或者标 0。

length 字符串

字符串的长度。

+TOKEN

将 TOKEN 解释为串,不管它是一个关键字或者一个操作。

(EXPRESSION)

EXPRESSION 的数值。

请注意有许多运算操作符都可能需要由 Shell 先实施转义。

如果参与运算的 ARG 自变量都是数字,比较符就会被视作数学符号,否则就是多义的。

模式匹配会返回“\”和“\”之间被匹配的子字符串或空(null);如果未使用“\”和“\”, 则会返回匹配字符数量或 0。

若表达式的值既不是空也不是 0,则退出状态值为 0;若表达式的值为空或为 0,则退出状 态值为 1;如果表达式的句法无效,则在出错时返回退出状态值 3。

案例练习

(1)整数运算。

代码语言:bash
复制
expr 14 % 9 
5

(2)返回“fd”字符串的任何字符在“abcdef”中出现的第一个位置。

代码语言:bash
复制
# expr index abcdef fd 
4 

(3)返回“Goodnight Ladies”字符串中从位置 11 开始的 6 个字符长的字符串。

代码语言:bash
复制
# expr substr "Goodnight Ladies" 11 6 
Ladies

(4)计算字串长度。

代码语言:bash
复制
# expr length thisisatest 
11

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • col:过滤控制字符
    • 案例练习
  • colrm:删除指定的行
    • 案例练习
  • fold:限制文件列宽
    • 案例练习
  • iconv:转换给定文件的编码
    • 案例练习
  • dc:任意精度的计算器
    • 案例练习
  • expr:求表达式变量的值
    • 案例练习
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档