当前位置: 首页 > 编程日记 > 正文

统计文件种类数+获取子shell返回值的其它方法

前言

只是作为一个shell的小小练习和日常统计用,瞎折腾的过程中也是摸到了获取子shell返回值的几种方法;
肯定还有别的方法,跟进程间的通信相关,希望你能提出建议和补充,谢谢~

完整程序:

#! /bin/bash
#检查参数数量是否符合要求
if [ $# -ne 1 ]
thenecho How to use: $0 ---> basepath!exit -1
fi
#获取传入的路径参数
path=$1
#声明一个关联数组
declare -A typearraywhile read fileinfo
doftype=`file -b "$fileinfo" | cut -d , -f 1`let typearray["$ftype"]++
done< <( find $path -type f -print )echo '==File==Type==Stastics=='
for ftype in "${!typearray[@]}"
doecho $ftype : ${typearray["$ftype"]}
done

获取子shell返回值的其它方法:

  1. 使用管道
#这段放在while之前
if [ ! -p npipe ]
then mkfifo -m 777 npipe
fi
#替换掉获得ftype值那里
( file -b "$fileinfo" | cut -d , -f 1 > npipe & )
read ftype<npipe
  1. 使用临时文件
#替换掉获得ftype值那里
( file -b "$fileinfo" | cut -d , -f 1 )>temp.txt
read ftype<temp.txt
  1. 使用HERE文档
#替换掉获得ftype值那里
read type << HERE
`file -b "$fileinfo" | cut -d , -f 1`
HERE

转载于:https://www.cnblogs.com/annsshadow/p/5153872.html

相关文章:

java中next的用法_关于java iterator的next()方法的用法

UYOUnext()是java迭代器类(Iterator)的方法&#xff0c;获得当前游标指向的下一个元素&#xff0c;详细说明和应用如下&#xff1a;1、迭代器(Iterator)介绍  迭代器是一种设计模式&#xff0c;它是一个对象&#xff0c;它可以遍历并选择序列中的对象&#xff0c;而开发人员不…

Python如何进行cross validation training

以4-fold validation training为例 (1) 给定数据集data和标签集label 样本个数为 sampNum len(data)(2) 将给定的所有examples分为10组 每个fold个数为 foldNum sampNum/10 (3) 将给定的所有examples分为10组 参考scikit-learn的3.1节&#xff1a;Cross-validation 1 impor…

Python的while循环

2019独角兽企业重金招聘Python工程师标准>>> 1.while循环的格式 while 条件:条件满足时&#xff0c;做的事情1条件满足时&#xff0c;做的事情2条件满足时&#xff0c;做的事情3...(省略)...demo i 0while i < 5:print("当前是第%d次执行循环" % (i …

LeetCode Add Binary

Given two binary strings, return their sum (also a binary string). For example,a "11"b "1"Return "100". 这题用数组来做可能更简单&#xff0c;但考虑到可能面试的时候要求不能开额外的数组&#xff0c;就只能对string操作了。最主要的…

linux java内存分析_Java内存分析利器MAT使用详解

这是一篇阅读MAT helper的笔记。Heap dump是Java进程在特定时间的一个内存快照。通常在触发heap dump之前会进行一次full gc&#xff0c;这样dump出来的内容就包含的是被gc后的对象。dump文件包含的内容&#xff1a;1&#xff0c;全部的对象&#xff1a;类&#xff0c;域&#…

[js] MD5算法

js版md5算法&#xff1a; /** * * MD5 (Message-Digest Algorithm) * http://www.webtoolkit.info/ * **/var MD5 function (string) {function RotateLeft(lValue, iShiftBits) {return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));}function AddUn…

vue中的时间过滤器

//全局过滤器&#xff0c;进行时间的格式化//所谓的全局过滤器即使所有的vue实例都共享的Vue.filter(dateFormat ,function(dateStr, pattern""){//根据给定的时间字符串&#xff0c;得到特定的时间var dt new Date(dateStr)//yyy---mm-ddvar y dt.getFullYear() /…

windows线程同步-原子操作-Interlocked系列函数(用户模式)

Interlocked系列函数用来保证原子访问。InterlockedExchangeAdd提供保证long类型的原子操作。InterlockedExchangeAdd64提供long long 64位的原子操作。搞不懂为什么不提供int类型的&#xff0c;int类型转换成long类型就是2个不同内存地址的变量&#xff0c;再来对long类型进行…

java 比较器comparator_Java中比较器的使用Compare和Comparator

Comparable和Comparator接口都是为了对类进行比较&#xff0c;众所周知&#xff0c;诸如Integer&#xff0c;double等基本数据类型&#xff0c;java可以对他们进行比较&#xff0c;而对于类的比较&#xff0c;需要人工定义比较用到的字段比较逻辑。可以把Comparable理解为内部比…

20160127:开始学VBA:(三)、判断语句

IIF函数判断 Sub 判断4() Range("a3") IIf(Range("a1") < 0, "负数或零", "负数")End Sub Sub 判断1() 单条件判断 If Range("a1").Value > 0 Then Range("b1") "正数" Else Range(…

java jdk中的归并排序实现

在Arrays.java中的sort中public static void sort(Object[] a, int fromIndex, int toIndex) {if (LegacyMergeSort.userRequested)legacyMergeSort(a, fromIndex, toIndex);elseComparableTimSort.sort(a, fromIndex, toIndex);}/** To be removed in a future release. */pri…

LeetCode.3-最长无重复字符子串(Longest Substring Without Repeating Characters)

这是悦乐书的第341次更新&#xff0c;第365篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Medium级别的第2题Longest Substring Without Repeating Characters&#xff08;顺位题号是3&#xff09;。给定一个字符串&#xff0c;找到最长无重复字符子字符串的长度。例如&am…

java代码操作git_JGit--实现Git命令操作的Java API

问题来源:最近在做一个项目&#xff0c;其中有一块需要用户上传代码到服务器中&#xff0c;然后分析用户所传的代码&#xff0c;传代码最直接的方式就是用户打个包上传&#xff0c;但是后期再分析代码的时候还要代码实现解压上传的代码&#xff0c;操作起来比较复杂。解决方案与…

Python学习(一) 安装,环境搭建,IDE

第一篇废话太多了&#xff0c;我的博客最主要的是给自己看的&#xff0c;大家觉得还凑合也可以看看&#xff0c;能说自己想法的就更好了&#xff0c;因为一个人的思想是有局限性的。集思广益&#xff0c;自己的认知才不会被禁锢。 注&#xff1a;其他的系统没装&#xff0c;在W…

桑叶黑芝麻糊,从头到脚通补

人体通补手册:丹道医学中的养命之术/武国忠著. —南京&#xff1a;江苏人民出版社&#xff0c;2009.8&#xff08;国医健康绝学系列&#xff09;ISBN 978-7-214-05938-3 桑叶黑芝麻糊&#xff0c;从头到脚通补 桑叶味甘、苦&#xff0c;性寒&#xff0c;可以入肝、肺经&#xf…

CSS jQuery制作漂亮的文字模糊效果

CSS3漂亮的模糊效果 运用CSS3 和 jQuery 以及其他javascript框架&#xff0c;将 CSS模糊效果发挥到极致. 本文底部可提供下载以及预览&#xff0c;并且包含了所有需要的文件包。 1. 烟雾模糊效果&#xff1a; 2.彩色灯晕效果 3. 鼠标悬浮模糊效果 4, 模糊效果 5&#xff0c;随机…

java 三维全景_3D开发-全景技术基础

全景&#xff0c;英文名(Panorama)&#xff0c;又被称为3D实景&#xff0c;是一种新兴的富媒体技术&#xff0c;其与视频&#xff0c;声音&#xff0c;图片等传统的流媒体最大的区别是“可操作&#xff0c;可交互”。 全景分为虚拟现实和3D实景两种。虚拟现实是利用maya等软件&…

HAProxy基础

HAProxy HAProxy是法国开发者Willy Tarreau 开发的一个开源然教案&#xff0c;是一款具备高并发、高性能的TCP和HTTP负载均衡器&#xff0c;支持基于cookie的持久性&#xff0c;自动故障切换&#xff0c;支持正则表达式及web状态统计。 HAProxy功能 HAProxy是TCP/HTTP反向代理服…

不试过你怎么知道?开博第一篇(本人菜鸟也,高手可以飘过)

我是菜鸟&#xff0c;一直都是&#xff0c;只不过以前比现在更菜而已。 注册博客园居然有5个月了。昨晚看过一位迷茫中的仁兄30岁了不知道干什么。。我跟他差不多。 既然他可以申请开博&#xff0c;为什么我就不试试看呢&#xff1f; 试试看又不会损失什么&#xff1f;被拒绝又…

java 类隔离_微服务架构中zuul的两种隔离机制实验

ZuulException REJECTED_SEMAPHORE_EXECUTION 是一个最近在性能测试中经常遇到的异常。查询资料发现是因为zuul默认每个路由直接用信号量做隔离&#xff0c;并且默认值是100&#xff0c;也就是当一个路由请求的信号量高于100那么就拒绝服务了&#xff0c;返回500。信号量隔离既…

技术网站/博客网址收藏

1、W3CHtmlDom标准 http://www.w3school.com.cn/htmldom/dom_obj_window.asp2、JavaScirpt参考教程&#xff1a;http://www.iselong.com/online/ebooks/javascript/3、CSS手册http://www.w3school.com.cn/css/css_positioning_floating.asp4、Lucene查询语句http://tech.ddvip.…

TableStore: 海量结构化数据分层存储方案

2019独角兽企业重金招聘Python工程师标准>>> 前言 表格存储是阿里云自研分布式存储系统&#xff0c;可以用来存储海量结构化、半结构化的数据。表格存储支持高性能和容量型两种实例类型。高性能使用SSD的存储介质&#xff0c;针对读多写多的场景都有较好的访问延时。…

计算 webView 显示内容后实际高度

两种方法&#xff0c;方法1可以得到内容的实际高度&#xff0c;方法2得到了将内容显示完整后的 webView 的尺寸&#xff08;包含 UIEdgeInsets&#xff09; - (void)webViewDidFinishLoad:(UIWebView *)wb{//方法1CGFloat documentWidth [[wb stringByEvaluatingJavaScriptFro…

另一个.java文件调用_java - 如何调用另一个类“写文件”的方法? - SO中文参考 - www.soinside.com...

在我的Android应用程序&#xff0c;我想有一类处理所有“写入/读取到文本文件”的行动。所以&#xff0c;我根本就调用我的readUserFile.java文件我想的方法。但我的方法将不会在该文件中工作&#xff1f;创建一个文件在我的MainActivity工作正常&#xff0c;但不会在我的readU…

编译器实现(五)

1.自底向上的分析 最普通的自底向上算法称作LR(1)分析( LR(1)parsing) ( L表示由左向右处理输入&#xff0c;R表示生成了最右推导&#xff0c;而数字1则表示使用了先行的一个符号)。 1.1自底向上分析概览 自底向上的分析程序使用了显式栈来完成分析&#xff0c;这与非递归的自顶…

Python字符串的修改以及传参

前两天去面试web developer&#xff0c;面试官提出一个问题&#xff0c;用JavaScript或者Python实现字符串反转&#xff0c;我选择了Python&#xff0c;然后写出了代码&#xff08;错误的&#xff09;&#xff1a; 1 #!/usr/bin/env python2 #-*-coding:utf-8-*-3 __author__ …

充血模式和贫血模式

贫血模型&#xff1a;是指领域对象里只有get和set方法&#xff0c;或者包含少量的CRUD方法&#xff0c;所有的业务逻辑都不包含在内而是放在Business Logic层。 优点是系统的层次结构清楚&#xff0c;各层之间单向依赖&#xff0c;Client->(Business Facade)->Busin…

java 方法里面定义接口_java – 当接口A在其方法签名中定义接口B时

…如何限制A的实现在方法签名中使用B的某个实现&#xff1f;用例这是一个Unit接口和两个实现它的枚举&#xff1a;public interface Unit { ... }public enum ForceUnit implements Unit { ... }public enum MassUnit implements Unit { ... }属性界面使用哪个&#xff1a;publ…

ANDROID_MARS学习笔记_S01_011ProgressBar

文档是这样来设置样式 <ProgressBarandroid:layout_width"wrap_content"android:layout_height"wrap_content"style"android:style/Widget.ProgressBar.Small"android:layout_marginRight"5dp" /> 1.xml <RelativeLayout xml…

怎样使phpnow1.5.6-1支持firebird

&#xff08;以下部分步骤可能不是必要&#xff0c;自己测试。&#xff09; 环境&#xff1a;windows&#xff0c;phpnow1.5.6-1 默认支持mysql&#xff0c;修改配置文件&#xff0c;使之支持firebird。 php.ini 的位置 &#xff1a; php-5.2.14-Win32\php-apache2handler.ini …