У меня есть 10 файлов в папке Unix с расширением .txt, здесь мне нужно получить все файлы, кроме файла fgh.txt (любого), что такое команда UNIX?

Проблема заключалась в том, что оболочка по умолчанию на моей машинеtsch.

Запустите echo $SHELL, чтобы определить, какую оболочку вы используете. Если это tschили csh, то вы не используете знак =для назначения псевдонимов.

Например, для tsch:

$ alias foo="ls"
$ foo
foo: Command not found.

Но:

$ alias bar ls
$ bar

Чтобы изменить оболочку по умолчанию на bash, вы можете запустить:

$ chsh -s /bin/bash

Чтобы сохранить tcsh с псевдонимами, вам нужно будет создать файл ~/.tcshrc.

1
30.08.2017, 14:29
2 ответа

Просто и элегантно (при условии, что GNU ls):

ls -I fgh.txt
2
27.01.2020, 23:11

С помощьюнайдитекоманду:

find. -type f -name "*.txt" ! -name "fgh.txt"
  • -name "*.txt"-найти файлы с именами, соответствующими шаблону (все текстовые файлы)

  • ! -name "fgh.txt"-кроме точного имени файлаfgh.txt


Если ваши файлы действительно имеют префикс чисел (Я не уверен в редактировании этого вопроса )измените условие отрицания на! -name "*fgh.txt"

3
27.01.2020, 23:11

Теги

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