首页 > 系统相关 >shell数组的差集

shell数组的差集

时间:2023-06-12 20:01:33浏览次数:43  
标签:shell -- array2 array1 some jq 差集 数组 argjson

https://stackoverflow.com/questions/29396154/jq-setdiff-of-two-arrays

1.

echo -n '{"all":["A","B","C","ABC"],"some":["B","C"]}' | jq '. as $d | .all | del(.[ indices($d.some[])[] ])'

2.

array1='["A","B","C","ABC"]'
array2='["B","C"]'

jq -n --argjson array1 "$array1" --argjson array2 "$array2" '$array1-$array2'

jq -n --argjson array1 "$array1" --argjson array2 "$array2" 
'{"all": $array1,"some":$array2} | .all-.some'

3.

echo -n '{"all":["A","B","C","ABC"],"some":["B","C"]}' | jq '  . as $d
| .all
| [indices($d.some[])[]] as $found
| del(.[ $found[] ])
| "all", $d.all, "some", $d.some, "removing indices", $found, "result", .‘

 

  

 

标签:shell,--,array2,array1,some,jq,差集,数组,argjson
From: https://www.cnblogs.com/shaohef/p/17475988.html

相关文章

  • shell脚本
    1.运行脚本可以显示出本机的ip地址2.如果ip地址中有3这个数字,那么就打印出当前的系统时间3.如果ip地址中不含3这个数字,就批量建立用户magedu_00,magedu_01,...magedu_100并且所有用户同属于magedu组4.打印出/etc/passwd这个文件中可以登陆的用户(非/usr/sbin/nologin)5.yum......
  • 调整数组顺序使奇数位于偶数前面
    输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分。示例:输入:nums= [1,2,3,4]输出:[1,3,2,4]注:[3,1,2,4]也是正确的答案之一。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/diao-zheng-shu-zu-shun-xu-s......
  • LeetCode/区间子数组个数
    给你一个整数数组nums和两个整数:left及right找出nums中连续、非空且其中最大元素在范围[left,right]内的子数组,并返回满足条件的子数组的个数1.遍历区间右端点+同时记录满足条件的左边点位数组中不能含有大于right的元素,且至少含有一个处于[left,right]区间的元......
  • 80 二维数组
    packagecom.fqs.test;importjava.util.Random;publicclasshello{publicstaticvoidmain(String[]args){//定义数组int[][]arr3={{1,2,3},{4,5,6,7,8}};//获取元素System.out.prin......
  • Arrays ——操作数组的工具类
    Arrays——操作数组的工具类方法名说明publicstaticStringtoString(数组)把数组拼接成一个字符串publicstaticintbinarySearch(数组,查找的元素)二分法查找元素publicstaticint[]copyof(原数组,新数组长度)拷贝数组publicstaticint[]copyofRange(......
  • Shell脚本_统计当前shell脚本已经运行了几分几秒
    可以使用date命令获取当前时间,再与脚本开始运行的时间进行计算,最后将计算结果转换为分钟和秒数。示例代码:#!/bin/bash#记录脚本开始运行的时间start_time=$(date+%s)#执行脚本的主体代码sleep5#计算脚本已经运行的时间end_time=$(date+%s)elapsed_time=$((end......
  • shell中中括号实现变量运算
     001、[root@PC1test03]#a=100[root@PC1test03]#echo$a100[root@PC1test03]#echo$a+500100+500[root@PC1test03]#echo$[a+500]##中括号可以实现变量运算600[root@PC1test03]#echo$a*3100*3[root@PC1test03]#echo$[a*3]300[root@PC1test03]#......
  • python的shell用法
    python的shell用法python[-bBdEhiIOqsSuvVWx?][-ccommand|-mmodule-name|script|-][args]Python-mpython-mmodule名args检索对应的模块名去执行,对于一个普通的模块,可能下面两种写法实际上是等效的:python-mtestpythontest.py两种写法都是将对应的py文......
  • HDU 2838 Cow Sorting(树状数组)
    题意:首先每次只能交换相邻的两头牛,并且最后要求升序排列,所以最后整个序列的逆序是0,每次交换只可以消除1个逆序。(令a[i]的逆序是从1到i-1比它大的数的个数。)思路:对于某个数,要把它变成有序的,那么很容易可以推算出公式就是它自身的逆序数乘自身的值再加上它的逆序数的和,自己算算看看。......
  • HDU 1394 Minimum Inversion Number(树状数组)
    题意:有一个n个整数的排列,这n个整数就是0,1,2,3...n-1这n个数(但不一定按这个顺序给出)。现在先计算一下初始排列的逆序数,然后把第一个元素a1放到an后面去,形成新排列a2a3a4...ana1,然后再求这个排列的逆序数。继续执行类似操作(一共要执行n-1次)直到产生排列ana1a2...an-1为止。......