簡體   English   中英

AWK如何打印多個信息並將所有信息重定向到文本文件

[英]AWK how to print more than one information and redirect all to a text file

在此方面需要幫助,我正在創建一個腳本,該腳本將分析文件,並希望使用Awk在輸出txt文件中打印2條信息。我能夠打印該信息沒有人在我的屏幕上尋找內容,但是如何使用同一Awk打印另一個信息(例如,我分析的文件的行數),並將這兩個信息輸出到我使用此代碼和erreor代碼嘗試過的文件teste.txt中:操作員期望

#!/usr/bin/perl

if ($#ARGV ==-1)
{
    print "Saisissez un nom de fichier a nalyser \n";
}
else
{
    $fname = $ARGV[0];
    open(FILE, $fname) || die ("cant open \n");
}
while($ligne=<FILE>)
{
    chop ($ligne);
    my ($elemnt1, $ellement2, $element3) = split (/ /, $ligne_);
}
system("awk '{print \$2 > "test.txt"}' $fname");

嘗試轉義最后一行的引號,因此test.txt實際上在傳遞給system的字符串中。

system("awk '{print \$2 > \"test.txt\"}' $fname");

編輯:將行數添加到同一文件

在執行END規則時,Awk變量NR最終將保持輸入中的行數。 嘗試這個:

$outfile = '"test.txt"';
system("awk '{print \$2 > $outfile} END {print NR > $outfile}' $fname");

筆記:

  1. 請注意$outfile中沒有任何有趣的字符。
  2. 不同於殼,這是完全可以放心使用>兩次。 看這里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM