小编Sha*_*dra的帖子

没有打印换行符的awk

我希望在每次迭代中并排打印变量sum/NR.我们如何避免awk在每次迭代中打印换行符?在我的代码中,默认情况下会在每次迭代中打印换行符

for file in cg_c ep_c is_c tau xhpl
printf "\n $file" >> to-plot.xls
    for f in 2.54 1.60 800 
        awk '{sum+=$3}; END  {print  sum/NR}' ${file}_${f}_v1.xls >> to-plot-p.xls
    done
done
Run Code Online (Sandbox Code Playgroud)

我希望输出看起来像这样

cg_c ans1  ans2  ans3  
ep_c ans1  ans2  ans3 
is_c ans1  ans2  ans3
tau  ans1  ans2  ans3 
xhpl ans1  ans2  ans3
Run Code Online (Sandbox Code Playgroud)

我目前的出局是这样的

**cg_c**
ans1
ans2
ans3
**ep_c**
ans1
ans2
ans3
**is_c**
ans1
ans2
ans3
**tau**
ans1
ans2
ans3
**xhpl**
ans1
ans2
ans3
Run Code Online (Sandbox Code Playgroud)

scripting awk newline

155
推荐指数
4
解决办法
16万
查看次数

如何从列中减去常数

有没有办法从列的所有值中减去最小值?我需要从第一列中的所有其他数字中减去第一列中的第一个数字.

我写了这个脚本,但它没有给出正确的结果:

$ awk '{$1 = $1 - 1280449530}' file 
1280449530 452
1280449531 2434
1280449531 2681
1280449531 2946
1280449531 1626
1280449532 3217
1280449532 4764
1280449532 4501
1280449532 3372
1280449533 4129
1280449533 6937
1280449533 6423
1280449533 4818
1280449534 4850
1280449534 8980
1280449534 8078
1280449534 6788
1280449535 5587
1280449535 10879
1280449535 9920
1280449535 8146
1280449536 6324
1280449536 12860
1280449536 11612
Run Code Online (Sandbox Code Playgroud)

awk subtraction

20
推荐指数
2
解决办法
3万
查看次数

如何在C++中实现私有变量的访问?

编译器如何控制内存中变量的保护?是否有与内存中的私有变量相关联的标记位?它是如何工作的?

c++ memory-management data-protection private-members

13
推荐指数
1
解决办法
1478
查看次数

堆内存和平板分配

我很困惑heapfree list.我有几个问题,我对C++如何在C中工作有我自己的理解.如果我错了,请纠正我.

  • 堆内存是否组织为数据块的链表(空闲列表)?
  • 堆内存和空闲列表之间有区别吗?

我对存储分配的理解(开放改进): - 当我们调用malloc时,它会在堆中分配内存,并通过从中选择合适大小的数据块来实现free list:

当malloc返回某个特定的内存块时,它将从空闲列表中删除,并在页表中更新该内存块的物理地址.

当内存free()空闲时,数据块被插回到空闲列表中,并且可能减少碎片,与相邻块结合,并present清除页表条目中的位.

所以整个堆是一个空闲列表(空闲块的链表)+分配的数据块.

这是存储分配的全面情况吗?

编辑:来自Linux内核开发(Robert Love)关于内存管理,平板分配的章节

"一个空闲列表包含一个可用的,已经分配的数据结构块.当代码需要一个新的数据结构实例时,它可以从空闲列表中获取一个结构,而不是分配足够的内存并设置它对于数据结构.后来,当不再需要数据结构时,它将返回到空闲列表而不是解除分配.从这个意义上说,空闲列表充当对象缓存,缓存经常使用的对象类型."

自由列表被称为"可用,分配的数据结构块".

  • 当它在免费列表中时如何分配
  • 如何将一块内存返回到空闲列表_ 而不是与解除分配该块一样?
  • slab分配与存储分配有何不同

c linux heap malloc memory-management

7
推荐指数
1
解决办法
5369
查看次数

如何迭代Bash脚本中的位置参数?

我哪里错了?

我有一些文件如下:

filename_tau.txt
filename_xhpl.txt
fiename_fft.txt
filename_PMB_MPI.txt
filename_mpi_tile_io.txt
Run Code Online (Sandbox Code Playgroud)

我通过tau,xhpl,fft,mpi_tile_ioPMB_MPI定位参数给脚本如下:

./script.sh tau xhpl mpi_tile_io fft PMB_MPI
Run Code Online (Sandbox Code Playgroud)

我想要grep在循环内搜索,首先搜索tau,xhpl等等.

point=$1     #initially points to first parameter
i="0"
while [$i -le 4]
do
  grep "$str" ${filename}${point}.txt
  i=$[$i+1]
  point=$i     #increment count to point to next positional parameter
done
Run Code Online (Sandbox Code Playgroud)

bash scripting

6
推荐指数
2
解决办法
6550
查看次数

如何在awk中打​​印变量

我希望awk解释变量如下

#!/bin/bash

file=tau
f=2.54
order=even

awk '{sum+=$2}; END {print '${file}_${f}_${order}_v1.xls', sum/NR}'
${file}_${f}_${order}_v1.xls >> safe/P-state-summary.xls
Run Code Online (Sandbox Code Playgroud)

我想要所需的输出如下 -

tau_2.54_even_v1.xls   sum/NR
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题吗?

bash scripting awk

6
推荐指数
3
解决办法
4万
查看次数

在fork系统调用之后,在较低级别会发生什么?

我知道fork()在更高级别上做了什么.我想知道的是 -

  1. 只要有一个fork调用,就会跟随一个trap指令并控制跳转来执行fork"handler".现在,通过创建另一个地址空间和进程控制块来复制父进程,这个创建子进程的处理程序如何返回2个值,每个进程一个?

  2. 在什么时候执行fork会返回2个值?

简而言之,有人可以解释在拨打电话后在较低级别发生的逐步事件吗?

fork system-calls

6
推荐指数
1
解决办法
812
查看次数

如何清除CPU L1和L2缓存

我在xeon服务器上运行基准测试,我重复执行2-3次.我想在重复运行时擦除L1和L2中的缓存内容.你能建议任何方法吗?

caching

6
推荐指数
1
解决办法
2万
查看次数

在动态存储分配和释放期间使用循环链表作为“空闲列表”v/s平衡二叉搜索树

链表的缺点是,要 malloc() 一个块,内存分配器必须搜索链表,然后如果找到该地址,则返回它。那么为什么不使用二叉树来减少搜索时间呢?

NVIDIA提出的问题之一 http://www.careercup.com/question?id=9765724

在这里找到了一篇讨论它的相关文章

tree binary-tree memory-management linked-list

5
推荐指数
1
解决办法
1557
查看次数

内核运行ISR例程时的限制

在内核模式和ISR例程中有哪些重要的事情和不重要的事情?例如 -

  • 运行中断处理程序时是否禁用了上下文切换?
  • 当进程位于关键
    部分内时,是否可以发生上下文切换?
  • 内核模式中的哪些情况值得禁用进一步的中断?

如何在页面错误上发生进程切换,其中进程从磁盘获取数据,但在其他中断发生期间不会发生.如果可执行路径可以被中断/重新安排/抢占,您如何分类?

当进程处于内核模式或处理ISR例程时,必须记住的其他事项是什么?

operating-system locking interrupt context-switch linux-kernel

5
推荐指数
1
解决办法
1084
查看次数