Desired output.txt for reading txt file using awk?

Dear all,
I have a huge txt file (DATA.txt) with the following content [1]. From this txt file, I want the following output [2] using some shell script.

Any help is greatly appreciated.

Greetings,
emily

[1] DATA.txt (snippet of the huge text file)

      407202849 /abcd/directory/sub_directory/Samsung/150206_135953/0000/L1ITMBLT_54.root
      407077407 /abcd/directory/sub_directory/Samsung/150206_135953/0000/L1ITMBLT_93.root
      407018097 /abcd/directory/sub_directory/Samsung/150206_135953/0000/L1ITMBLT_74.root
      406859364 /abcd/directory/sub_directory/Samsung/150206_135953/0000/L1ITMBLT_171.root
      406739941 /abcd/directory/sub_directory/Samsung/150206_135953/0000/L1ITMBLT_112.root
      407261262 /abcd/directory/sub_directory/Samsung/150206_135953/0000/L1ITMBLT_107.root
      407080550 /abcd/directory/sub_directory/Samsung/150206_135953/0000/L1ITMBLT_18.root

[2] Output

     infile=['/abcd/directory/sub_directory/Samsung/150206_135953/0000/L1ITMBLT_54.root']
      infile.append('/abcd/directory/sub_directory/Samsung/150206_135953/0000/L1ITMBLT_93.root')
      infile.append('/abcd/directory/sub_directory/Samsung/150206_135953/0000/L1ITMBLT_74.root')
      infile.append('/abcd/directory/sub_directory/Samsung/150206_135953/0000/L1ITMBLT_171.root')
      infile.append('/abcd/directory/sub_directory/Samsung/150206_135953/0000/L1ITMBLT_112.root')
      infile.append('/abcd/directory/sub_directory/Samsung/150206_135953/0000/L1ITMBLT_107.root')
      infile.append('/abcd/directory/sub_directory/Samsung/150206_135953/0000/L1ITMBLT_18.root')

Hello emily,

Could you please try following code and let me know if this helps.

awk -vs="'" -vs1="infile=[" -vs2="]" -vs3="infile.append(" -vs4=")" '(NR==1){print s1 s $2 s s2} (NR>1){print s3 s $2 s s4}'  Input_file

Output will be as follows.

infile=['/abcd/directory/sub_directory/Samsung/150206_135953/0000/L1ITMBLT_54.root']
infile.append('/abcd/directory/sub_directory/Samsung/150206_135953/0000/L1ITMBLT_93.root')
infile.append('/abcd/directory/sub_directory/Samsung/150206_135953/0000/L1ITMBLT_74.root')
infile.append('/abcd/directory/sub_directory/Samsung/150206_135953/0000/L1ITMBLT_171.root')
infile.append('/abcd/directory/sub_directory/Samsung/150206_135953/0000/L1ITMBLT_112.root')
infile.append('/abcd/directory/sub_directory/Samsung/150206_135953/0000/L1ITMBLT_107.root')
infile.append('/abcd/directory/sub_directory/Samsung/150206_135953/0000/L1ITMBLT_18.root')

NOTE: Considering your Input_file doesn't have spaces in starting.

Thanks,
R. Singh

1 Like

Great, perfect..:slight_smile: :slight_smile: