Search code examples
unixsplitcut

Cut file name into two parts in unix


I have a requirement to cut a file name into two parts.
So my file name is : 'SIC_ETL_MAIN_0.1.zip'
I want to cut the file name into parts and load into two variable separately Expected Output:

SIC_ETL_MAIN - var1
0.1 - var2

Solution

  • using grep

    $echo SIC_ETL_MAIN_0.1.zip |  grep -o '[A-Z_]*[A-Z]'
    SIC_ETL_MAIN
    $echo SIC_ETL_MAIN_0.1.zip |  grep -o '[0-9\.]*[0-9]'
    0.1
    $
    

    Edit: Variable assignment

    $var1=$(echo SIC_ETL_MAIN_0.1.zip |  grep -o '[A-Z_]*[A-Z]')
    $var2=$(echo SIC_ETL_MAIN_0.1.zip |  grep -o '[0-9\.]*[0-9]')
    $echo "Var1=${var1}  Var2=${var2}"                                                
    Var1=SIC_ETL_MAIN  Var2=0.1
    $