linux 字符处理 shell 包含某个字符串
大家好,今天来为大家分享linux 字符处理的一些知识点,和shell 包含某个字符串的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
linux,shell如何把字符串变成数组
在Linux shell中,将字符串转换为数组需要采用不同的方法。例如,使用cut命令结合管道符可以提取特定字段,但这种方法并不直接适用于数组转换。例如,执行echo$url| cut-d,-f 1,该命令会将变量$url按照逗号分隔符切割,并输出第一个字段。这里的-d选项用于指定分隔符,-f 1表示取第一个字段。
然而,这种方法与数组的处理方式有所不同。数组通常从0开始索引,所以数组中的第一个元素实际上是索引为0。例如,在Bash中,可以使用url=($url)将字符串赋值给数组,这样${url[0]}就能获取第一个元素。这意味着,虽然cut-d,-f 1可以提取第一个字段,但这与数组的索引方式不一致。
若要将字符串转换为数组,可以使用Bash的内置命令如read-r-a array-d','<<<"$url"。这里的read-r-a array-d','<<<"$url"会将字符串$url按照逗号分隔符切割,并将结果存储在数组array中。注意,这里的-a选项用于指定结果存储在数组中,而-d','则指定了分隔符为逗号。通过这种方式,可以更方便地处理字符串并将其转换为数组。
综上所述,Linux shell中将字符串转换为数组的方法多样,可以根据具体需求选择合适的方法。对于简单的切割操作,可以使用cut命令;而对于更复杂的数组处理,建议使用Bash的内置命令如read。理解这些方法有助于更高效地处理数据和进行脚本编写。
linux 好用的命令
Linux运维人员必会的120个命令
跟老男孩学Linux运维:核心系统命令实战
前言
第1章 Linux命令行简介/ 1
1.1Linux命令行概述/ 1
1.2在Linux命令行下查看命令帮助/ 4
1.3Linux shutdown reboot halt/ 9
关机:
shutdown-h now
halt
init 0
第2章文件和目录操作命令/ 13
2.1pwd:显示当前所在的位置/ 13
2.2cd:切换目录/ 16
2.3tree:以树形结构显示目录下的内容/ 18
2.4mkdir:创建目录/ 22
2.5touch:创建空文件或改变文件的时间戳属性/ 27
2.6ls:显示目录下的内容及相关属性信息/ 30
2.7cp:复制文件或目录/ 39
2.8mv:移动或重命名文件/ 42
2.9rm:删除文件或目录/ 45
2.10rmdir:删除空目录/ 48
2.11ln:硬链接与软链接/ 49
2.12readlink:查看符号链接文件的内容/ 54
2.13find:查找目录下的文件/ 55
2.14xargs:将标准输入转换成命令行参数/ 68
2.15rename:重命名文件/ 71
2.16basename:显示文件名或目录名/ 72
2.17dirname:显示文件或目录路径/ 72
2.18chattr:改变文件的扩展属性/ 73
2.19lsattr:查看文件扩展属性/ 75
2.20file:显示文件的类型/ 76
2.21md5sum:计算和校验文件的MD5值/ 77
2.22chown:改变文件或目录的用户和用户组/ 80
2.23chmod:改变文件或目录权限/ 81
2.24chgrp:更改文件用户组/ 85
2.25umask:显示或设置权限掩码/ 86
2.26老男孩从新手成为技术大牛的心法/ 90
第3章文件过滤及内容编辑处理命令/ 91
3.1cat:合并文件或查看文件内容/ 91
3.2tac:反向显示文件内容/ 103
3.3more:分页显示文件内容/ 104
3.4less:分页显示文件内容/ 107
3.5head:显示文件内容头部/ 109
3.6tail:显示文件内容尾部/ 111
3.7tailf:跟踪日志文件/ 114
3.8cut:从文本中提取一段文字并输出/ 115
3.9split:分割文件/ 117
3.10paste:合并文件/ 118
3.11sort:文本排序/ 123
3.12join:按两个文件的相同字段合并/ 127
3.13uniq:去除重复行/ 129
3.14wc:统计文件的行数、单词数或字节数/ 131
3.15iconv:转换文件的编码格式/ 133
3.16dos2unix:将DOS格式文件转换成UNIX格式/ 134
3.17diff:比较两个文件的不同/ 135
3.18vimdiff:可视化比较工具/ 138
3.19rev:反向输出文件内容/ 139
3.20tr:替换或删除字符/ 140
3.21od:按不同进制显示文件/ 143
3.22tee:多重定向/ 145
3.23vi/vim:纯文本编辑器/ 147
3.24老男孩逆袭思想:做Linux运维的多个好处/ 152
第4章文本处理三剑客/ 153
4.1grep:文本过滤工具/ 153
4.2sed:字符流编辑器/ 159
4.3awk基础入门/ 165
第5章 Linux信息显示与搜索文件命令/ 176
5.1uname:显示系统信息/ 176
5.2hostname:显示或设置系统的主机名/ 178
5.3dmesg:系统启动异常诊断/ 179
5.4stat:显示文件或文件系统状态/ 181
5.5du:统计磁盘空间使用情况/ 183
5.6date:显示与设置系统时间/ 186
5.7echo:显示一行文本/ 190
5.8watch:监视命令执行情况/ 193
5.9which:显示命令的全路径/ 195
5.10whereis:显示命令及其相关文件全路径/ 196
5.11locate:快速定位文件路径/ 197
5.12updatedb:更新mlocate数据库/ 199
5.13老男孩逆袭思想:新手在工作中如何问问题不会被鄙视/ 200
第6章文件备份与压缩命令/ 201
6.1tar:打包备份/ 201
6.2gzip:压缩或解压文件/ 208
6.3zip:打包和压缩文件/ 211
6.4unzip:解压zip文件/ 212
6.5scp:远程文件复制/ 214
6.6rsync:文件同步工具/ 216
6.7老男孩逆袭思想:新手如何高效地提问/ 220
第7章 Linux用户管理及用户信息查询命令/ 222
7.1 useradd:创建用户/ 222
7.2usermod:修改用户信息/ 227
7.3userdel:删除用户/ 229
7.4groupadd:创建新的用户组/ 230
7.5groupdel:删除用户组/ 231
7.6passwd:修改用户密码/ 232
7.7chage:修改用户密码有效期/ 237
7.8chpasswd:批量更新用户密码/ 238
7.9su:切换用户/ 240
7.10visudo:编辑sudoers文件/ 242
7.11sudo:以另一个用户身份执行命令/ 244
7.12id:显示用户与用户组的信息/ 248
7.13w:显示已登录用户信息/ 249
7.14who:显示已登录用户信息/ 250
7.15users:显示已登录用户/ 252
7.16whoami:显示当前登录的用户名/ 253
7.17last:显示用户登录列表/ 253
7.18lastb:显示用户登录失败的记录/ 254
7.19lastlog:显示所有用户的最近登录记录/ 255
第8章 Linux磁盘与文件系统管理命令/ 257
8.1fdisk:磁盘分区工具/ 257
8.2partprobe:更新内核的硬盘分区表信息/ 265
8.3tune2fs:调整ext2/ext3/ext4文件系统参数/ 266
8.4parted:磁盘分区工具/ 268
8.5mkfs:创建Linux文件系统/ 272
8.6dumpe2fs:导出ext2/ext3/ext4文件系统信息/ 274
8.7resize2fs:调整ext2/ext3/ext4文件系统大小/ 275
8.8fsck:检查并修复Linux文件系统/ 278
8.9dd:转换或复制文件/ 281
8.10mount:挂载文件系统/ 284
8.11umount:卸载文件系统/ 288
8.12df:报告文件系统磁盘空间的使用情况/ 289
8.13mkswap:创建交换分区/ 293
8.14swapon:激活交换分区/ 294
8.15swapoff:关闭交换分区/ 295
8.16sync:刷新文件系统缓冲区/ 296
第9章 Linux进程管理命令/ 298
9.1ps:查看进程/ 298
9.2pstree:显示进程状态树/ 305
9.3pgrep:查找匹配条件的进程/ 306
9.4kill:终止进程/ 307
9.5killall:通过进程名终止进程/ 310
9.6pkill:通过进程名终止进程/ 311
9.7top:实时显示系统中各个进程的资源占用状况/ 313
9.8nice:调整程序运行时的优先级/ 320
9.9renice:调整运行中的进程的优先级/ 323
9.10nohup:用户退出系统进程继续工作/ 324
9.11strace:跟踪进程的系统调用/ 325
9.12ltrace:跟踪进程调用库函数/ 332
9.13runlevel:输出当前运行级别/ 334
9.14init:初始化Linux进程/ 335
9.15service:管理系统服务/ 335
第10章 Linux网络管理命令/ 338
10.1ifconfig:配置或显示网络接口信息/ 338
10.2ifup:激活网络接口/ 343
ifup eth0
10.3ifdown:禁用网络接口/ 343
ifdown eth0
service network restart(/etc/init.d/network restart)激活整个网络,所有网卡。
10.4route:显示或管理路由表/ 344
10.5arp:管理系统的arp缓存/ 350
10.6ip:网络配置工具/ 351
10.7netstat:查看网络状态/ 358
10.8ss:查看网络状态/ 362
10.9ping:测试主机之间网络的连通性/ 363
10.10traceroute:追踪数据传输路由状况/ 366
10.11arping:发送arp请求/ 367
10.12telnet:远程登录主机/ 369
10.13nc:多功能网络工具/ 370
10.14ssh:安全地远程登录主机/ 373
10.15wget:命令行下载工具/ 376
10.16mailq:显示邮件传输队列/ 379
10.17mail:发送和接收邮件/ 381
10.18nslookup:域名查询工具/ 386
10.19dig:域名查询工具/ 389
10.20host:域名查询工具/ 393
10.21nmap:网络探测工具和安全/端口扫描器/ 394
10.22tcpdump:监听网络流量/ 398
第11章 Linux系统管理命令/ 407
11.1lsof:查看进程打开的文件/ 407
11.2uptime:显示系统的运行时间及负载/ 411
11.3free:查看系统内存信息/ 411
11.4iftop:动态显示网络接口流量信息/ 413
11.5vmstat:虚拟内存统计/ 415
11.6mpstat:CPU信息统计/ 419
11.7iostat:I/O信息统计/ 420
11.8iotop:动态显示磁盘I/O统计信息/ 423
11.9sar:收集系统信息/ 425
11.10chkconfig:管理开机服务/ 430
11.11ntsysv:管理开机服务/ 433
11.12 setup:系统管理工具/ 434
11.13ethtool:查询网卡参数/ 436
11.14mii-tool:管理网络接口的状态/ 437
11.19rpm:RPM包管理器/ 443
11.20yum:自动化RPM包管理工具/ 446
top命令
第12章 Linux系统常用内置命令/ 450
12.1Linux内置命令概述/ 450
12.2Linux内置命令简介/ 450
12.3Linux常用内置命令实例/ 452
Linux系统下如何去除文件中的换行符
Windows下保存的文本文件,上传到Linux/Unix下后总会在末尾多了一个换行符^M,问题不大,但处理起来很麻烦(尤其是出现在非行末的时候)。我介绍一下亲试可行的去除方法:
1.出现在行末:
直接unix2doc filename即可
2.出现在中间行:
1) vi文件名
2)按下 Esc
3)输入以下字符串:%s/^M//g(注意,^M= Ctrl v+ Ctrl m,而不是手动输入^M,此时可能会出现客户端隐藏,不要担心,重新打开后直接按回车即可)
4)直接回车 enter( ^M清除成功)
5):wq!(保存退出)