(извините, но я напишу "I" как "i", потому что "I" всегда путают с символом канала;)
У меня есть файл tar, поэтому я могу видеть список с помощью "-т "вариант. каждая строка будет как ниже.
-rwxr-x--- admin/users 287110 2017-04-01 12:49 017_0401/345 alice.wav
мы можем видеть, что путь - "017_0401 /", а имя файла - "345 alice.wav", в котором есть пробел.
и что мне нужнопросто имя файла и информация о размере.
для "awk", $ 3 - это размер, $ 6, а остальная часть будет именем файла.
к сожалению, многие из файлов имеют непредсказуемое количество пробелов в именах. (не назван мной).
Я хочу, чтобы "awk" сделал этот список таким, как показано ниже. ("filename" \ t "size")
017_0401/345 alice.wav [tab] 287110
Итак, я попробовал "awk" следующим образом:
cat tarlist.txt | awk '{zsize=$3; $1=$2=$3=$4=$5=""; print $0"\t"zsize;}'
#rem: i had to use $0 because many files have spaces in the name.
, но результат будет иметь пробелы, как показано ниже.
[5spaces]017_0401/345 alice.wav [tab] 287110
что мне нужно, это как ...
017_0401/345 alice.wav [tab] 287110
что я могу сделать, чтобы удалить оставшиеся пробелы из 5 удаленных полей? спасибо за чтение до здесь.