当前位置: 首页 > news >正文

【linux基础】bash脚本的学习:定义变量及引用变量、统计目标目录下所有文件行数、列数

假设目的:统计并输出指定文件夹下所有文件行数

单个文件可以用 wc -l ;多个文件,可以用通配符 / 借助bash脚本

1.定义变量名,使用引号

a="bestqc.com.map"
b="Anno.variant_function"
c="enrichment/GOenrich.xlsx"
d="enrichment/KEGGenrich.xlsx"

2.合并变量,有空格/无空格

list="$a $b $c $d"

3.引用变量名

$list

4.读取列表变量值:从命令读取变量 如 for state in $(cat file.txt)

for state in $list
doecho $(wc -l $state)
done

合并所有步骤,保存到1个脚本 1.sh,如下:

#!/bin/basha="bestqc.com.map"
b="Anno.variant_function"
c="enrichment/GOenrich.xlsx"
d="enrichment/KEGGenrich.xlsx"list="$a $b $c $d"for state in $list
doecho $(wc -l $state)
done

修改脚本权限:chmod 777 1.sh

运行脚本及结果: ./ 1.sh

输出到新的文件夹:./1.sh  > 1.txt

以上,可以简化为如下,根据通配符统计


统计文件列数

awk 'END{print NF}' bestqc1.bim

按指定分隔符统计列数

awk -F ','  'END{print NF}' sname.csv

统计每行列数

awk -F',' '{print NF}' sname.csv

http://www.lryc.cn/news/335410.html

相关文章:

  • 算法四十天-删除排序链表中的重复元素
  • Linux-等待子进程
  • 【LeetCode热题100】【二叉树】二叉树的最大深度
  • 想做产品经理,应该选择什么专业?
  • [机器学习Day 1~3
  • Day106:代码审计-PHP原生开发篇文件安全上传监控功能定位关键搜索1day挖掘
  • 数码视讯Q7盒子刷armbian遇到的坑之二
  • vue2 使用vue-org-tree demo
  • 【数据结构】考研真题攻克与重点知识点剖析 - 第 7 篇:查找
  • 【数仓】DataX 通过SpringBoot项目自动生成 job.json 文件
  • 注解式 WebSocket - 构建 群聊、单聊 系统
  • 无线游戏手柄的测试(Windows11系统手柄调试方法)
  • 计算机的各种转换
  • Git分布式版本控制系统——Git常用命令(一)
  • 【Node.js】短链接
  • 详解 Redis 在 Centos 系统上的安装
  • C语言 | Leetcode C语言题解之第17题电话号码的字母组合
  • wordpress全站开发指南-面向开发者及深度用户(全中文实操)--wordpress中的著名循环
  • libVLC 提取视频帧使用QGraphicsView渲染
  • 大厂Java笔试题之判断字母大小写
  • 场景文本检测识别学习 day02(AlexNet论文阅读、ResNet论文精读)
  • 4.9日总结
  • python第四次作业
  • 工业通信原理——Modbus-TCP通信规约定义
  • Vue - 4( 8000 字 Vue 入门级教程)
  • 5.118 BCC工具之xfsslower.py解读
  • Spark编程基础
  • React 状态管理:高效处理数组数据的5种方法
  • SSH和交换机端口安全概述
  • K-means聚类算法的原理、应用与实例