У вас есть правильный подход, но необходимо разделять поле на пробелы, а не запятые ( -F,
). Я интерпретирую ваш вопрос как «строки должны быть сохранены в файлы с именами, равными именам в столбце 1».
$ cat file.txt
BB1520_v1.0_0103 exon 3329 3601
BB1520_v1.0_0103 exon 3650 4040
BB1520_v1.0_0089 exon 1 862
BB1520_v1.0_0089 exon 1312 1357
BB1520_v1.0_0089 exon 1423 1531
BB1520_v1.0_0084 exon 5196 5283
$ awk '{ print >$1".txt"}' file.txt
$ cat BB1520_v1.0_0103.txt
BB1520_v1.0_0103 exon 3329 3601
BB1520_v1.0_0103 exon 3650 4040
-121--244385-
Попробуйте (Крис, вы очень близки):
sed -i '' 's|export TODO_FILE="$TODO_DIR/todo.txt"|export TODO_FILE="$TODO_DIR/writing.txt"|g' ~/.todo/config
-121--128848-
Используйте команду -v
, которая требуется в POSIX sh с выпуска 7. Обратите внимание, что если команда является компоновкой оболочки, можно не получить ожидаемых результатов (выходные данные не будут путями).
$ command -v init
/usr/bin/init
команда
стандартизирована здесь .
Вы можете найти ее в /usr/src
или скачать с here (src.txz
).
В FreeBSD базовая система находится вне менеджера пакетов. Вы не можете установить ядро package, системные utils (cp
, ls
и т.д.) package и т.п... Они являются частью базовой системы - их можно обновить с помощью freebsd-update (конечно же, это часть базовой системы). Посмотрите и документацию !