Tag: awk

如何删除unix中每行末尾的字符

我想删除我的文件中每行的结尾处的逗号。 除了在awk使用substring函数,我怎么能做到这一点。 请给我build议。谢谢 示例input SUPPLIER_PROC_ID BIGINT NOT NULL, BTCH_NBR INTEGER NOT NULL, RX_BTCH_SUPPLIER_SEQ_NBR INTEGER NOT NULL, CORRN_ID INTEGER NOT NULL, RX_CNT BYTEINT NOT NULL, DATA_TYP_CD BYTEINT NOT NULL, DATA_PD_CD BYTEINT NOT NULL, CYC_DT DATE NOT NULL, BASE_DT DATE NOT NULL, DATA_LOAD_DT DATE NOT NULL, DATA_DT DATE NOT NULL, SUPPLIER_DATA_SRC_CD BYTEINT NOT NULL, RX_CHNL_CD BYTEINT NOT […]

awk部分string匹配(如果列/字部分匹配)

我的虚拟文件看起来像这样: C1 C2 C3 1 a snow 2 b snowman snow c sowman 如果有$ 3的stringsnow ,我想得到线路。 我可以这样做: awk '($3=="snow" || $3=="snowman") {print}' dummy_file 但应该有更简单的方法。

创buildzip文件的文件夹并解压缩

如果我select一个zip文件并右键单击“解压缩”,则会创build一个带有zip文件名的文件夹,并将zip文件的全部内容解压缩到该文件夹​​中。 不过,我想通过shell转换几个zip文件。 但是当我这样做 unzip filename.zip 文件夹"filename"不会被创build,但所有的文件被提取到当前目录中。 我已经看过参数,但没有这样的参数。 我也试过了 for zipfile in \*.zip; do mkdir $zipfile; unzip $zipfile -d $zipfile/; done 但2. $ zipfile和4. $ zipfile的.zip扩展名必须用sed删除。 如果我做 for zipfile in \*.zip; do mkdir sed 's/\.zip//i' $zipfile; unzip $zipfile -d sed 's/\.zip//i' $zipfile/; done 它不工作。 如何正确地replace$zipfile的.zip扩展名? 有比shell脚本更简单的方法吗?

从文件生成直方图

给定每行包含一个单一数字的input文件,我怎么能得到一个项目在该文件中发生了多less次? cat input.txt 1 2 1 3 1 0 所需输出(=> [1,3,1,1]): cat output.txt 0 1 1 3 2 1 3 1 如果解决scheme也可以扩展为浮动数字,那将是非常好的。

我怎样才能将variables从awk传递给shell命令?

我试图从一个文件的每一行awk内运行一个shell命令,并且shell命令需要一个input参数。 我尝试使用system() ,但它不能识别input参数。 这个文件的每一行都是一个文件的地址,我想运行一个命令来处理这个文件。 所以,对于一个简单的例子,我想对每一行使用'wc'命令并将$1传递给wc。 awk '{system("wc $1")}' myfile

如何删除文件中的每一行的前导空白?

我有一个这样的文件: for (i = 0; i < 100; i++) for (i = 0; i < 100; i++) for (i = 0; i < 100; i++) for (i = 0; i < 100; i++) for (i = 0; i < 100; i++) for (i = 0; i < 100; i++) for (i = 0; i < […]

交换两列 – awk,sed,python,perl

我有一个大文件(280列宽,700万行!)的数据,我需要交换前两列。 我想我可以用某种awk for循环,打印$ 2,$ 1,然后范围到文件的结尾 – 但我不知道如何做范围部分,我不能打印$ 2 ,$ 1,$ 3 … $ 280! 我在这里看到的大多数列交换的答案是特定于具有可pipe理的列数的小文件,所以我需要一些不依赖于指定每个列号的东西。 该文件是制表符分隔的: Affy-id chr 0 pos NA06984 NA06985 NA06986 NA06989

如何在awk中获取数组的长度?

这个命令 echo "hello world" | awk '{split($0, array, " ")} END{print length(array) }' 不起作用,给我这个错误信息 awk:第1行:对数组数组的非法引用 为什么?

使用awk查找列的平均值

我试图find一个类的awk的第二列数据的平均值。 这是我现在的代码,我的教师提供的框架: #!/bin/awk ### This script currently prints the total number of rows processed. ### You must edit this script to print the average of the 2nd column ### instead of the number of rows. # This block of code is executed for each line in the file { x=sum read name awk 'BEGIN{sum+=$2}' # […]

如何从切割命令中获得第二个最后的字段

我有一组数据作为input,并需要基于删减器的第二个最后一个字段。 这些行可能有不同数量的分隔符。 我怎样才能获得第二个最后的领域? 示例input text,blah,blaah,foo this,is,another,text,line 预期产出 blaah text