Добавьте номер столбца Q + в качестве заголовка для числа столбцов x

247
user770211

У меня есть несколько файлов с разделителями табуляции, для которых пользователь сценария будет выбирать один из них на основе определенного порога. Все файлы имеют различное количество столбцов (от 1 до n в зависимости от ранее выбранного порога). Столбцы файлов не имеют заголовков, однако для следующей программы для выбранного файла потребуются заголовки. Столбцы должны быть названы от Q1 до Qn для этого следующего шага. Поскольку пользователь может использовать файл с 1 или 10 или n столбцами, число столбцов с именами от Q1 до Qn будет меняться каждый раз. У меня проблемы с тем, чтобы заставить эту работу работать правильно. Какие-либо предложения?

Чего я хочу достичь:

https://i.stack.imgur.com/dmJMt.png

0
https://i.stack.imgur.com/dmJMt.png user770211 7 лет назад 0
Я могу добавить Q в первую строку, используя: awk 'NR == 1 }' file> outputFile, однако как сделать номер столбца заголовком первым? user770211 7 лет назад 0

1 ответ на вопрос

0
user770211

Итак, это то, что я придумал. Немного грязно, и я думаю, что, возможно, есть более быстрый путь, но это сработало.

for i in $(seq 1 $maxPops); do echo $i; done > output1.txt #make a temp file with numbers 1 to max populations maxPops awk '}' output1.txt > outpu2.txt #Add Q to the beginning of each row name cut -f1 output2.txt | paste -s > output3.txt #transpose the row names awk -v OFS="\t" '$1=$1' inputPopFile.txt > chosenPop.txt #change single spaces to tab delimited spaces cat output3.txt chosenPop.txt > renamedColumns.txt #add formatted column names to desired file chosenPop.txt rm $fastStructure/temp1.txt $fastStructure/numPops.txt #remove unwanted files 

Похожие вопросы