রেখার পরে অন্য ফাইলগুলির পরে লাইন যুক্ত করুন


6

একটি ফাইল যুক্ত করুন,

011C0201.WAV
011C0202.WAV
011C0203.WAV
011C0204.WAV
011C0205.WAV

অন্য ফাইলের পরে,

52 601
39 608
56 1016
39 416
65 335

ফলাফলটি নীচে, ট্যাব দ্বারা বিভক্ত

011C0201.WAV    52_601_011C0201
011C0202.WAV    39_608_011C0202
011C0203.WAV    56_1016_011C0203
011C0204.WAV    39_416_011C0204
011C0205.WAV    65_335_011C0205

এখানে আমি কি করি

awk '
NR==FNR { start=$1; end=$2; next}
{ print $0 start end }
' WSJ_310P_PC_16k.epd WSJ_310P_PC_16k.spt > tmp

কিন্তু এটা কাজ করছে না। আমি কি ভুল করছি?

উত্তর:


6

কীভাবে paste+ awk?

$ paste one another | 
    awk '{print $1, $2 "_" $3 "_" substr($1,1,length($1)-4)}' OFS='\t'
011C0201.WAV    52_601_011C0201
011C0202.WAV    39_608_011C0202
011C0203.WAV    56_1016_011C0203
011C0204.WAV    39_416_011C0204
011C0205.WAV    65_335_011C0205

আপনি যদি এটি সম্পূর্ণরূপে করতে পছন্দ করেন তবে awk:

awk 'NR==FNR {a[FNR]=$0; next} {print a[FNR], $1 "_" $2 "_" substr(a[FNR],1,length(a[FNR])-4)}' OFS='\t' one another

5

এখানে খাঁটি ব্যবহার করা হচ্ছে awk

awk '
    NR==FNR {a[NR]=$0; next}
    {
        split(a[FNR],b,".");
        printf "%s\t%s_%s_%s\n", a[FNR], $1, $2, b[1]
    }
' file1 file2
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.