我有一个看起来像这样的文件:
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 < 100; i++)
Run Code Online (Sandbox Code Playgroud)
我希望它看起来像这样(删除缩进):
for (i = 0; i < 100; i++)
for (i = 0; i < 100; i++)
for (i = 0; i < …Run Code Online (Sandbox Code Playgroud) 我想删除,文件中每行末尾的逗号.除了使用子字符串函数之外,我该怎么做呢awk?请建议我.谢谢
样本输入
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 NULL,
MP_IMS_ID INTEGER NOT NULL,
MP_LOC_ID NUMERIC(3,0),
MP_IMS_ID_ACTN_CD BYTEINT NOT NULL,
NPI_ID BIGINT,
Run Code Online (Sandbox Code Playgroud) 很多人通过一次发布AWK多个输入文件的以下解决方案非常有帮助:
$ awk 'FNR==NR{a[$1]=$2 FS $3;next}{ print $0, a[$1]}' file2 file1
Run Code Online (Sandbox Code Playgroud)
这很好用,但我想知道我是否有人可以向我解释原因?我发现AWK语法有点难以掌握,希望有人不介意为我打破代码片段.
我这里有问题.我必须使用awk在文本文件中打印一列.但是,列根本不用空格分隔,只使用一个逗号.看起来像这样:
column1,column2,column3,column4,column5,column6
Run Code Online (Sandbox Code Playgroud)
如何使用awk打印第3列?
我正在尝试打印输出第一行的第一个字段.情况就是这样.我只需SUSE要从这个输出打印.
# cat /etc/*release
SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 2
Run Code Online (Sandbox Code Playgroud)
尝试cat /etc/*release | awk {'print $1}'但打印每行的第一个字符串
SUSE
VERSION
PATCHLEVEL
Run Code Online (Sandbox Code Playgroud) 我正在学习文件比较awk.
我找到了如下的语法,
awk 'NR==FNR{a[$1];next}$1 in a{print $1}' file1 file2
Run Code Online (Sandbox Code Playgroud)
我无法理解这NR==FNR在什么意义?如果我尝试,FNR==NR那么我也得到相同的输出?
到底是做什么的?
我需要编辑一些文本文件(输出sar)并将它们转换为CSV文件.
我需要使用sed或awk函数(Linux中的简单shell脚本)更改每个空格(可能是输出中数字之间的选项卡).
谁能帮我?我使用的每个命令都没有改变文件; 我试过了gsub.
我想从html文件的锚标签中提取URL.这需要使用SED/AWK在BASH中完成.请不要perl.
最简单的方法是什么?
我想直接在包含匹配模式的行之后打印一行.我的版本sed不会采用以下语法(它炸弹了+1p.)这看起来像一个简单的解决方案:
sed -n '/ABC/,+1p' infile
Run Code Online (Sandbox Code Playgroud)
我认为awk做多线处理会更好,但我不知道该怎么做.