Мне нужно извлечь имя идентификатора родительского каталога и поместить его в текстовый файл с разделителями табуляции. Затем мне нужно извлечь имена содержимого этой папки и поместить в ту же строку, что и имя ID, которое я впервые извлек. По существу, в столбце 1 должно быть указано имя каталога от родительского, в столбце 2 должен быть указан имя первого файла в этом каталоге, в столбце 3 должно быть имя следующего файла и т. Д. И т. Д.
/ path / to / folder / ID /
pwd | xargs echo | awk -F "/" '{print $n; exit}' >> Text.txt
, где 'n' - местоположение нужной родительской папки (в данном случае, ID). Это работает нормально и записывает что-то вроде «ID001» в мой файл Text.txt.
Я снова пробую тот же маленький хак, используя мой pwd в качестве входных данных для xargs, перечисляя содержимое этой папки, и записывая имена в мой файл Text.txt:
pwd | xargs echo | awk -F "/" '{print $7; exit}' >> Text.txt | pwd | xargs echo | xargs ls | xargs echo >> Text.txt
Но вместо
ID001 file1 file2
я получаю
file1 file2
ID001
Что в основном следовало ожидать, учитывая команды. Я не понимаю, почему имена моих файлов добавляются в строку first , а не в строку last . Единственной связанной статьей, которую я смог найти, была эта запись для записи указанного столбца c в CSV , но это было не совсем то, что я искал.