在将它们保存到文件之前,我试图从两个单独的列中删除首字符和最后一个字符。我需要删除的字符是连字符。由于结果中有连字符,因此我无法完全删除所有连字符。有没有更有效的方法来使用awk?
我目前的想法与此命令相似。
cat file.txt | awk -F '|' '{print $2, $4}' | sed 's/.//;s/.$//' > newfile.txt
文件示例
1-|-40939-23-|-column-3-|-column-4-|
2-|-9832651-23-|-column-3-|-column-4-|
当前输出
40939-23- -column-4
9832651-23- -column-4
所需的输出
40939-23 column-4
9832651-23 column-4
答案 0 :(得分:1)
$ awk -F'-[|](-|$)' '{print $2, $4}' file
40939-23 column-4
9832651-23 column-4
答案 1 :(得分:0)
请问您能不能尝试,如果有帮助请告诉我。
for(const email of processedData) {
if(validateEmail(email) && ++count === 100) break
}
解决方案2: 考虑到您的Input_file始终相同,请使用字段编号。
awk -F"|" '{gsub(/^-|-$/,"",$2);gsub(/^-|-$/,"",$(NF-1));print $2,$(NF-1)}' Input_file