Извлечение списка шаблонов, которые являются выводом другой команды

Правка: Как упоминал Ангел, не следует использовать это решение, так как оно может привести к нежелательным изменениям.

Его решение (hex(^F)==\x06):

sed -i 's/\x06//g' filename

Мое (inproper) решение:

cat -v oldfile | sed 's/\^F//g' > newfile

должно это сделать.

.

1
11.12.2014, 05:07
2 ответа

Используйте подстановку процесса <():

fgrep -A 1 -f <(cut -d " " -f 1 Cell_cycle.txt)  filename.fasta
1
27.01.2020, 23:37

Нет опции Sudo

Вы можете использовать команду SOURCE для запуска другого скрипта Bash в той же среде, от которого вы получили. (Без запуска подпроцесса)

Script1.sh

#!/bin/bash
read -p "Enter Your Full Name: " Name
source script2.sh

Script2.sh

#!/bin/bash
echo $Name

-

С Sudo

Причина, по которой ваш пример не работает, является из-за Sudo. Вы можете использовать опцию sudo -e, чтобы сохранить переменные окружающей среды с помощью супер пользовательской среды.

Script1.sh

   #!/bin/bash
   read -p "Enter Your Full Name: " Name
   export Name 
   sudo -E bash script2.sh

Script2.sh

#!/bin/bash
echo $Name
-121--111622-

Также это (для слегка более коротких и более читаемости):

grep -Ff <(awk '{print $1}' Cell_cycle.txt) filename.fasta
1
27.01.2020, 23:37

Теги

Похожие вопросы