script,
script
echo "Enter CSV File name "
read fileName
echo "Enter Column name to be duplicated "
read columnName
columnNumber=`head -1 $fileName | awk -v RS="," "/$columnName/{print NR;}"`
totalNumberOfColumn=`head -1 $fileName | awk -F',' '{print NF}'`
str=""
for ((i=1;i<=$totalNumberOfColumn;i++));
do
str="$str \$$i\",\""
if [ $i == $columnNumber ]
then
str="$str \$$i\",\""
fi
done
awk -F',' "{print ${str}}" $fileName | sed 's/,$//g'
- , data.csv
:cat data.csv
Name, Surname, City, Age, Job
John, Doe, Johannesburg, 28, Technical Support
1
:bash script.sh
Enter CSV File name
data.csv
Enter Column name to be duplicated
City
Name, Surname, City, City, Age, Job
John, Doe, Johannesburg, Johannesburg, 28, Technical Support
2:
:bash script.sh
Enter CSV File name
data.csv
Enter Column name to be duplicated
Name
Name,Name, Surname, City, Age, Job
John,John, Doe, Johannesburg, 28, Technical Support