Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 目录中的长列表值和计算值_Shell_Unix_Awk - Fatal编程技术网

Shell 目录中的长列表值和计算值

Shell 目录中的长列表值和计算值,shell,unix,awk,Shell,Unix,Awk,编写一个shell脚本,使用awk命令显示长列表值,但打印字段的双倍值并存储为单独的字段, 例: 我有 预期成果: 所需实际产出 这里我需要的40是单独字段中20的两倍值这是您所期望的吗 /tmp> ls -l vgrs.txt data.csv -rw-r--r-- 1 xxxx yyyy 96 Dec 24 08:10 data.csv -rw-r--r-- 1 xxxx yyyy 148 Dec 24 08:02 vgrs.txt /tmp> ls -l vgrs.txt d

编写一个shell脚本,使用
awk
命令显示长列表值,但打印字段的双倍值并存储为单独的字段, 例:

我有 预期成果: 所需实际产出
这里我需要的40是单独字段中20的两倍值

这是您所期望的吗

/tmp> ls -l vgrs.txt data.csv
-rw-r--r-- 1 xxxx yyyy  96 Dec 24 08:10 data.csv
-rw-r--r-- 1 xxxx yyyy 148 Dec 24 08:02 vgrs.txt
/tmp> ls -l vgrs.txt data.csv | awk ' $(NF+1)=$5*2 '
-rw-r--r-- 1 xxxx yyyy 96 Dec 24 08:10 data.csv 192
-rw-r--r-- 1 xxxx yyyy 148 Dec 24 08:02 vgrs.txt 296
/tmp>
说明:


如果有n列,则可以通过操纵现有列,使用$(NF+1)再添加一列

您好,欢迎光临,您是否希望正确地编写您的问题,以便用户能够帮助您解决问题?参见此处请编写一个shell脚本,通过将字段值加倍来显示,并使用awk命令将其存储在另一个字段中您有
print{2*$2}
-也许可以考虑哪个字段是
$2
,哪个字段需要加倍。这不是一个家庭作业网站,所以我不会给你完整的解决方案。请阅读,然后问一个关于你想做什么的问题,而不是你想如何做的问题(另请参阅)。
ls -l -g | awk print{ 2 * $2}
-rw-r--r-- 1 root.usersgrp 120 dec 24 11.21 a.txt
-rw-r--r-- 2 root.usersgrp 20 dec 24 11.22 b.txt
-rw-r--r-- 1 root.usersgrp 20 dec 24 11.22 b.txt 40
/tmp> ls -l vgrs.txt data.csv
-rw-r--r-- 1 xxxx yyyy  96 Dec 24 08:10 data.csv
-rw-r--r-- 1 xxxx yyyy 148 Dec 24 08:02 vgrs.txt
/tmp> ls -l vgrs.txt data.csv | awk ' $(NF+1)=$5*2 '
-rw-r--r-- 1 xxxx yyyy 96 Dec 24 08:10 data.csv 192
-rw-r--r-- 1 xxxx yyyy 148 Dec 24 08:02 vgrs.txt 296
/tmp>