私のテキストファイルには次の形式のデータがあります
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/WGS1/CLM/text1.txt
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/WGS1/CLM/text2.txt
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/EMP2/text3.txt
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/ACS1/text4.txt
私は次のような出力が欲しい
Path Name File Name
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/WGS1/CLM/ text1.txt
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/WGS1/CLM/ text2.txt
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/EMP2/ text3.txt
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/ACS1/ text4.txt
ベストアンサー1
次のawk
コマンドを使用できますcolumn
。
awk -F'/' 'BEGIN{print "PathName FileName"}{a="";for(i=2;i<=NF-1;i++){a=a"/"$i};a=a"/";print a"\t"$NF}' file_name | column -t
次のように印刷されます。
PathName FileName
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/WGS1/CLM/ text1.txt
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/WGS1/CLM/ text2.txt
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/EMP2/ text3.txt
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/ACS1/ text4.txt
単語間のスペースを維持するには、スペースの代わりにタブで区切ることPath Name and File Name
ができます。
awk -F'/' 'BEGIN{print " Path Name\tFile Name"}{a="";for(i=2;i<=NF-1;i++){a=a"/"$i};a=a"/";print a"\t"$NF}' file_name | column -t -s $'\t'
Path Name File Name
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/WGS1/CLM/ text1.txt
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/WGS1/CLM/ text2.txt
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/EMP2/ text3.txt
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/ACS1/ text4.txt