Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- file=${1}
- if [[ -z "${file}" ]]; then
- echo "Path to a file within DDFS is required"
- exit 1
- fi
- zero_sig=c3320def4e1dbbf428c3f89c665c550933c4cfbb62ab8928
- ddfs_bmap ${file} 2>/dev/null | grep -v ${zero_sig} | \
- awk '
- function myprint() {
- blk_skip=(cur_addr - prev_addr)/store_blk_size - 1;
- if (start_addr == prev_addr) {
- if (blk_skip == 0 || blk_skip == -1) {
- printf "[ %27x ] blk_read: %-10d\n", start_addr, blk_count;
- } else {
- printf "[ %27x ] blk_read: %-10d blk_skip: % -10d\n", start_addr, blk_count, blk_skip;
- }
- } else {
- blk_count=(prev_addr - start_addr)/store_blk_size + 1;
- printf "[ %12x - %12x ] blk_read: %-10d blk_skip: % -10d\n", start_addr, prev_addr, blk_count, blk_skip;
- }
- }
- NR == 1 { store_blk_size=65568 }
- {
- if (NR == 2) {
- start_addr=strtonum("0x"$3);
- cur_addr=start_addr;
- prev_addr=start_addr;
- start_sig=$2;
- prev_sig=start_sig;
- blk_count=1;
- } else if (NR > 2) {
- cur_addr=strtonum("0x"$3);
- cur_sig=$2;
- if (cur_sig == prev_sig) {
- blk_count=blk_count + 1;
- } else {
- if (cur_addr - prev_addr != store_blk_size) {
- myprint();
- start_addr=cur_addr;
- start_sig=cur_sig;
- blk_count=1;
- }
- prev_sig=cur_sig;
- prev_addr=cur_addr;
- }
- }
- }
- END {
- myprint();
- }'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement