У меня есть две переменные, каждая из которых содержит по 6 значений, и я изо всех сил пытаюсь понять, как сравнивать значения. Я даже не уверен, как проверить их тип, чтобы быть честным, после поиска.Как сравнить элементы в переменной с помощью Bash?
Вот одна из функций:
localfiles="$(ls -l string_matching_pattern_* | awk '{print $5}')"
#Matches to the string_matching_pattern and then assigns their file sizes to the variable localfiles
echo "$localfiles"
10
123
4873
8734
2109
Вторая функция является по существу то же самое, но захватывает размеры файлов из ведра AWS S3:
aws s3 ls s3://bucket/folder1 | awk '{print $3}'
s3files="$(aws s3 ls s3://bucket/folder1 | awk '{print $3}')"
echo "$s3files"
10
123
4873
8734
1111
S о принципе, как я могу сравнить эти выходные или значения то, что в localfiles
к s3files
@chepner: ОП разборе команду ls, чтобы получить размер файла ... –
'localsizes = (стат -c '% s' string_matching_pattern _ *)' , тогда. (Или любая форма, которую требует ваш локальный 'stat', но все же [не разбирайте' ls'] (http://mywiki.wooledge.org/ParsingLs)). – chepner
Поместите их в массив, а не в строку, затем зациклируйте на индексы массива. – Barmar