文件A包含hash:plain文件B包含username:hash所需的输出username:plain有没有办法在shell中做到这一点?
发布于 2019-05-22 03:07:08
对cut使用命令替换
echo $(cut -d: -f1 B):$(cut -d: -f2 A)发布于 2019-05-22 03:13:46
假设文件的顺序不同,每个文件有多行,并且您希望将具有相同散列的行配对,有几种方法:
$ join -11 -22 -t: -o 2.1,1.2 <(sort -k1,1 -t: filea) <(sort -k2,2 -t: fileb)(需要bash、zsh、ksh93或其他能够理解<()重定向的shell )
或
$ awk -F: -v OFS=: 'NR == FNR { hashes[$1] = $2; next }
$2 in hashes { print $1, hashes[$2] }' filea filebhttps://stackoverflow.com/questions/56244886
复制相似问题