У меня есть файл структура, которая выглядит следующим образом:Linux заменить столбец файла с именем каталога родительского
Surge/Track_000000/000_extracted.csv
где нули можно заменить любой numberical значения
файлы 000_extracted.csv выглядеть следующим образом:
Timestep ElementID SE
1 100 .5
2 100 1.3
3 100 .7
4 100 .2
в идеале я хотел бы иметь это результирующий файл, который выглядит следующим образом:
Track Timestep ElementID SE
0000000 1 100 .5
0000000 2 100 1.3
0000000 3 100 .7
0000000 4 100 .2
Где 0000000 - это 7-значный код дорожки от имени родительского каталога.
В качестве первого шага я хочу добавить имя каталога (Track_000000) в имя файла. Таким образом, это будет идти от 212_extracted.csv до Track_000000_212_extracted.csv.
Я попытался это:
for i in 'ls ./Surge/'
do
for j in 'ls ./Surge/$i/'
do
mv -v './Surge/$i/*.csv' './Surge/$i/$i-*.csv'
done
done
Это не работает. В то время как $ i должен быть Track_0000000, вместо этого он говорит мне, что это/Surge /.
Любая помощь будет оценена по достоинству.
Спасибо, K
вы предлагаете плохую практику ... не использовать 'вместо этого используйте скобки – SriniV
Я настоятельно рекомендую больше не использовать обратную ссылку. У него так много недостатков, что его нельзя поощрять. Вместо этого используйте '$ (cmd)'. –