shell脚本总结13:head -c 和cut -c的区别
目录
- 前言
- head -c 和cut -c的区别
- 补充cut的使用方法
前言
shell 是一种脚本语言。脚本:本质是一个文件,文件里面存放的是 特定格式的指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译)shell 既是应用程序 又是一种脚本语言(应用程序 解析 脚本语言)。
head -c 和cut -c的区别
先说结论:如果是一行字符串,且中间没有换行等符号,输出结果应该是一致的。
echo "hello world" | head -c 4
echo "hello world" | cut -c 1-4echo -e "hello\nworld" | head -c 8echo -e "hello\nworld" | cut -c 1-8
结果如下
hell
hellhello
wohello
world
总结:
head -c 8将所有输入(包括换行符 \n)视为连续的字节流,严格截取前 8 个字节,无视换行符的存在。
cut -c 1-8将输入按换行符 \n 分割为多行。分别对每一行截取第 1~8 个字符。
补充cut的使用方法
基本语法
cut [OPTION] [FILE...]
常用选项
-f (--fields=LIST): 指定要提取的字段,字段之间通常以特定的分隔符分开。
-d (--delimiter=DELIM): 指定分隔符,默认为制表符。
-c (--characters=LIST): 按字符位置提取。
示例
echo "Alice,30,New York" | cut -d ',' -f 3
echo "Alice" | cut -c 1-3
结果如下:
New York
Ali