linux shell ifs,shell - IFS分隔符
IFS是internal field separator的缩写,shell的特殊环境变量。ksh根据IFS存储的值,可以是空格、tab、换行符或者其他自定义符号,来解析输入和输出的变量值。
用IFS定制分隔符的方式范例
1
2
3
IFS='|'
text='a a a a|b b b b|c c c c'
for iin $text;do echo "i=$i";done
IP地址倒序
如果有一IP地址220.112.253.111, 欲将这个IP地址颠倒顺序,你可以定义IFS为".",然后直接echo这个地址即可得到此IP的4个数值,然后重新把IFS设为空格,重新组合四个IP>地址的数值即可。
1
2
3
4
5
6
7
8
# The following code segment will only work in ksh,
# and it will fail in bash
IP=220.112.253.111
IFS="."
TMPIP=$(echo $IP)
IFS=" " # space
echo $TMPIP |read ip1 ip2 ip3 ip4
INVERT_IP=$ip4.$ip3.$ip2.$ip1
使用换行符做分隔符
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/sh
conf="ABC
A B C
1|2|3
1 2 3"
echo "$conf"
echo --------------
echo IFS:
echo -n"$IFS"|xxd
echo --------------
for cin $conf;do
echo "line='$c'";
done
echo --------------
#IFS=$'\n' 表示用 换行符 做分隔
#IFS="\n" 与 IFS='\n' 都是用 n 字符作为分隔
IFS=$'\n'
echo IFS:
echo -n"$IFS"|xxd
echo --------------
for cin $conf;do
echo "line='$c'";
done
ABC
A B C
1|2|3
1 2 3
--------------
IFS:
00000000: 2d6e 2020 090a 0a -n ...
--------------
line='ABC'
line='A'
line='B'
line='C'
line='1|2|3'
line='1'
line='2'
line='3'
--------------
IFS:
00000000: 2d6e 200a 0a -n ..
--------------
line='ABC'
line='A B C'
line='1|2|3'
line='1 2 3'
linux shell ifs,shell - IFS分隔符相关推荐
- linux shell bash -c $IFS ${IFS}
root@out:~# aa='echo${IFS}-e${IFS}-n${IFS}"123\\\n456"' root@out:~# bash -c $aa; 123\n456r ...
- shell中的IFS
一.IFS 介绍 Shell 脚本中有个变量叫 IFS(Internal Field Seprator) ,内部域分隔符.完整定义是The shell uses the value stored in ...
- Shell中的IFS解惑
一.IFS 介绍 Shell 脚本中有个变量叫 IFS(Internal Field Seprator) ,内部域分隔符.完整定义是The shell uses the value stored in ...
- 【shell脚本】——IFS的概念和用法
IFS的概念和方法 参考 IFS的概念 查看IFS的默认值 查看IFS的值对应的字符编码 IFS导致的非理想的分割例子 取得理想结果 参考 https://www.cnblogs.com/guxd/p ...
- shell中设置IFS,使用自定义分割符
1.概述 在bash中,IFS(Internal Filed Separator,内部域分隔符)是一种 set 变量,当 shell 处理字符串时,shell会根据 IFS 的值,默认是空格.Tab键 ...
- shell 系统变量IFS
今天看到一个shell函数,开始不理解,后来才明白 function in_path(){cmd=$1;path=$2;oldIFS=$IFSIFS=":"retval=1for ...
- Linux上的Shell之FAQ
转自:http://blog.chinaunix.net/u3/93926/showart_1874897.html ●为什么使用Shell编程? 简单快捷,适用性广 ●什么是Shell? Shell ...
- linux基础:shell中的sh与bash区别与常用命令
目录 一,什么是sh和bash? 二,shell的基本用法 2.1,变量 2.2,算术运算 2.3,使用 bash 计算器在shell脚本中进行浮点运算 2.4,shell中的条件判断命令test和[ ...
- linux命令行和shell脚本编程大全笔记
第1章 初识Linux shell 内存存储单元按组划分成很多块,这些块称作页面(page) Linux操作系统将运行中的程序称为进程.进程可以在前台运行,将输出显示在屏幕上,也 可以在 ...
- Linux基础篇学习—shell及shell脚本
概述 shell概念 shell又称命令解释器,它能识别用户输入的各种命令,并传递给操作系统 它的作用类似于Windows操作系统中的命令行,但是,Shell的功能远比命令行强大的多:在UNIX或者l ...
最新文章
- docker删除es数据_Docker的常用命令
- IDE接口驱动程序移植
- java选填,java选择填空 - osc_ug2wy0bi的个人空间 - OSCHINA - 中文开源技术交流社区
- C#语言实现定时开启或禁用网卡小程序
- Pytorch--Tensor, Numpy--Array,Python--List 相互之间的转换
- python决策树sklearn_python利用sklearn包编写决策树源代码
- IDEA 载入jQuery的方法
- 舒服的网页登录界面设计灵感
- [JavaScript] js获取Html元素的实际宽度高度
- Selenium自动化测试——计算器加法测试
- 解决Selenium2Library 导入报错问题
- Windows使用choco包管理器
- bt4-pre-final下用spoonwep+spoonwpa破解wep或wpa加密的无线网络
- ehcache使用java_Java分布式缓存框架Ehcache 使用(一)
- 冷热分离和直接使用大数据库_【TBase开源版测评】深度测评TBase的shard分片和冷热分离存储特性...
- 拔丝芋头的Java学习日记--Day5
- 自动更新之安装apk
- python数据处理与分析(汇总)
- 泰坦尼克号乘客生存预测
- 基于MATLAB GUI界面的串口小助手
热门文章
- 高级货!Django实现基于人脸识别的门禁管理系统【源码】
- WHT20无线温湿度传感器 STM8S单片机
- jquery 动态添加div元素(两种方式)
- The server time zone value ‘й‘ is unrecognized or represents more than one time zone
- 移动通信网认证协议,安全
- MINI-UI V3.0 开发框架 非常容易上手
- C#通过TCP实现 HL7医疗系统传输的协议,并使用MLLP协议接收HL7消息并解析
- 高考选地理化学生物能考计算机专业吗,高考选科物理化学地理可以报考什么专业...
- 怎样在线将图片制作成圆角图样式
- 【Linux进程概念】冯 诺依曼体系结构 操作系统 进程 fork 进程状态 优先级