AI智能
改变未来

awk grep 以某个特定字母开头 shell 常用操作

shell 常用操作 awk

  • 判断文件夹是否存在
  • shell 接收命令行参数
  • shell 替换字符 sed
  • shell 取特定的列 awk
  • grep 用法
  • 筛选以特定字母开头
  • 统计不同字符 并计数 uniq -c

判断文件夹是否存在

if [ ! -d \"data\" ];thenmkdir dataelseecho \"file folder already exists\"fi

shell 接收命令行参数

$0是程序名,$1之后是参数, ${10}要加花括号。当命令行参数有空格时,用双引号包起来。

在test.sh文件中这样写,就可以运行

sh test.sh zhihu

看到输出

zhihu

运行

sh test.sh \"zhihu ha\"

就可以看到输出

zhihu ha

name=$1echo $name

shell 替换字符 sed

sed \'s/A/B/\'

将A替换为B
比如将文件中的括号和逗号去掉

cat test.txt | sed \'s/(//\' | sed \'s/)//\' | sed \'s/,//\' > out.txt

shell 取特定的列 awk

awk -F \',\' \'{print $1\",\"$4}\' test.txt

将以逗号为分隔符的数据test.txt 中第一列和第四列取出来。其中去掉

-F \',\'

表示文件默认分隔符为空格,多个空格会被认为为一个空格处理。

grep 用法

筛选以特定字母开头

以r或者R开头的

cat test.spice | grep ^[rR].*

统计以r或者R开头的行数

cat test.spice | grep ^[rR].* | wc -l

不 以r或者R开头的 使用-v参数

cat test.spice | grep -v ^[rR].*

统计不同字符 并计数 uniq -c

查看 test.spice文件【

cat test.spice

】中以i或者I开头的行【

| grep \\^[iI].*

】,输出以空格分隔的第四个参数【

| awk \'{print $4}\'

】,输出不同字符 并且统计个数【

|uniq -c

cat test.spice | grep ^[iI].* | awk \'{print $4}\' | uniq -c

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » awk grep 以某个特定字母开头 shell 常用操作