Мое текущее решение
rm -rf "$(readlink -f "a")"; rm -f "a"
Но возможно существует что-то более легкое?
Два пути:
Нажмите Ctrl+V и затем Вкладку.
cut -f2 -d' ' infile
или запишите это как это:
cut -f2 -d$'\t' infile
Вкладка является значением по умолчанию.
См. страницу справочника сокращения.
-d delim
Use delim as the field delimiter character instead of the tab
character.
Таким образом, необходимо просто записать
cut -f 2
cut
поскольку Windows не следовал бы полному стандарту.
– Willem Van Onsem
19.04.2015, 15:32
awk -F '\t' '{ print $2 }' inputfile
Это извлекает второе разграниченное вкладкой поле каждой строки входа от inputfile
.
более в общем, не требуя никаких невидимых символов: Использовать tr
для преобразования разделителей в формат, который может быть указан более легко к , сокращает
.
$ echo -e "a\tb\tc" |tr '\t' ' ' |cut -d' ' -f2
b
tr
является простым, но мощным, символьным соответствием и заменяющим инструментом.
В качестве альтернативы можно обернуть cut функцией.
function getColumns ()
{
local -r delimiter="${1:?}"
local -r columns="${2:?}"
if [[ "$delimiter" == '\t' || "$delimter" == "tab" ]]; then
cut "--fields=${columns}"
return
fi
cut "--delimiter=${delimiter}" "--fields=${columns}"
}
-d
аргумент). – Ahmed Fasih 04.11.2014, 16:40ksh93
, нетbash
. Это поддерживается ksh93, zsh, ударом, mksh и FreeBSD sh, по крайней мере (он мог бы добраться до следующего основного возвращения спецификации стандарта POSIX дляsh
). – Stéphane Chazelas 23.10.2017, 14:42