У меня есть сценарий для идентификации файлов флэш-памяти в памяти, которые нужно скопировать или передать в программу, такую как vlc для воспроизведения.Получить данные столбца из каждой строки вывода из ls -l
#!/bin/bash
pid=($(ps aux | grep flash | grep -v grep | grep -v bin/flash))
cd "/proc/${pid[1]}/fd"
file=($(echo `ls -l | grep /tmp/`))
file="${file[8]}"
echo "$file"
Это хорошо работает, но я хочу, чтобы он возвращал каждый соответствующий файл, так как он возвращает только первый.
Я бы обычно делал что-то вроде многомерного массива, но у bash их нет, и даже если бы это было так, я бы не знал синтаксиса.
Как разделить выходные данные по строке, а затем эхо значение [8]
от каждого?
http://mywiki.wooledge.org/ParsingLs –
Тогда моя проблема становится «Как создать массив имен файлов симлинок указывающих в/TMP/папку» - которая, вероятно, гораздо более сложная задача. Но поскольку мы находимся в каталоге/proc/directories, все имена файлов будут простыми целыми числами, поэтому мы можем без труда проанализировать 'ls'. –