TCC Фабриса Белларда по-прежнему находится в репозиториях. Он может работать в некотором режиме интерпретатора, который делает возможным следующее:
Вы можете сделать простой исполняемый файл C-файла, например, OP, который пытается сделать, добавив строку
[ f2]
в самый верх файла.
Он также принимает ввод от STDIN, добавляя в конце пустую опцию (только знак минус -).
$ /usr/bin/tcc -run - <<EOF
> #include <stdio.h>
> int main()
> {
> printf("Hello World\n");
> return 0;
> }
> EOF
Hello World
или с echo
echo '#include <stdio.h> int main(){printf("Hello World\n");return 0;}' | /usr/bin/tcc -run -
или просто запустите /usr/bin/tcc -run - введите свой код и запустите с помощью CTRL + D [!d7 ]
Кажется бесполезным и глупым, но последний метод является самым быстрым (для меня, YMMV и т. д.), чтобы проверить функцию в большой библиотеке, посмотреть точное значение константы и т. д. И она небольшая (180k) что делает его подходящим для «Малина-Пи».
Основной недостаток: развитие остановлено (последняя версия с 2013 года).
Скрипт ниже выполняет поиск (текстовых) файлов в данном каталоге рекурсивно, для вхождений данной строки, независимо от того, находится ли она в верхнем или нижнем регистре или в любой их комбинации.
Это даст вы найдете список найденных совпадений, пути к файлам в сочетании с filenam и фактические вхождения строки в файле, выглядящие как:
/path/to/file1 ['numlock', 'numlocK']
/longer/path/to/file2 ['NuMlOck']
и т. д.
Чтобы использовать это:
1] Скопируйте приведенный ниже текст, вставьте его в список. он в пустой текстовый файл (gedit). 2] Отредактируйте две строки в headection, чтобы определить строку для поиска и каталог для поиска. 3] Сохраните его как searchfor.py. 4] Чтобы запустить его: откройте терминал, введите python3 + space, затем перетащите скрипт в окно терминала и нажмите return. Список найденных совпадений появится в файле terminalwindow
В случае ошибки сценарий упомянет об этом.
#!/usr/bin/python3
import os
#-----------------------------------------------------
# give the searched word here in lowercase(!):
searchfor = "string_to_look_for"
# give the aimed directory here:
searchdir = "/path/to/search"
#-----------------------------------------------------
wordsize = len(searchfor)
unreadable = []
print("\nFound matches:")
for root, dirs, files in os.walk(searchdir, topdown=True):
for name in files:
file_subject = root+"/"+name
try:
with open(file_subject) as check_file:
words = check_file.read()
words_lower = words.lower()
found_matches_list = [i for i in range(len(words_lower)) if words_lower.startswith(searchfor, i)]
found_matches = [words[index:index+wordsize] for index in found_matches_list]
if len(found_matches) != 0:
print(file_subject, found_matches)
else:
pass
except Exception:
unreadable.append(file_subject)
if len(unreadable) != 0:
print("\ncould not read the following files:")
for item in unreadable:
print("unreadable:", item)
Скрипт ниже выполняет поиск (текстовых) файлов в данном каталоге рекурсивно, для вхождений данной строки, независимо от того, находится ли она в верхнем или нижнем регистре или в любой их комбинации.
Это даст вы найдете список найденных совпадений, пути к файлам в сочетании с filenam и фактические вхождения строки в файле, выглядящие как:
/path/to/file1 ['numlock', 'numlocK']
/longer/path/to/file2 ['NuMlOck']
и т. д.
Чтобы использовать это:
1] Скопируйте приведенный ниже текст, вставьте его в список. он в пустой текстовый файл (gedit). 2] Отредактируйте две строки в headection, чтобы определить строку для поиска и каталог для поиска. 3] Сохраните его как searchfor.py. 4] Чтобы запустить его: откройте терминал, введите python3 + space, затем перетащите скрипт в окно терминала и нажмите return. Список найденных совпадений появится в файле terminalwindow
В случае ошибки сценарий упомянет об этом.
#!/usr/bin/python3
import os
#-----------------------------------------------------
# give the searched word here in lowercase(!):
searchfor = "string_to_look_for"
# give the aimed directory here:
searchdir = "/path/to/search"
#-----------------------------------------------------
wordsize = len(searchfor)
unreadable = []
print("\nFound matches:")
for root, dirs, files in os.walk(searchdir, topdown=True):
for name in files:
file_subject = root+"/"+name
try:
with open(file_subject) as check_file:
words = check_file.read()
words_lower = words.lower()
found_matches_list = [i for i in range(len(words_lower)) if words_lower.startswith(searchfor, i)]
found_matches = [words[index:index+wordsize] for index in found_matches_list]
if len(found_matches) != 0:
print(file_subject, found_matches)
else:
pass
except Exception:
unreadable.append(file_subject)
if len(unreadable) != 0:
print("\ncould not read the following files:")
for item in unreadable:
print("unreadable:", item)
Вы можете использовать grep -r для рекурсивного поиска содержимого файла, например
grep -Iri 'numlock' /path/to/search/dir/
, где /path/to/search/dir/ - это каталог верхнего уровня, с которого вы хотите начать поиск, - вы можете использовать /, но будьте готовы к этому, чтобы занять много времени.
Некоторые варианты, в зависимости от вашего точного требования:
, измените опцию -r на -R, если хотите чтобы следовать символическим ссылкам, добавьте параметр -l для печати только имен найденных файлов.I сообщает grep игнорировать двоичные файлы, а i делает поиск нечувствительным к регистру.
Если ваша версия grep не поддерживает рекурсивный поиск, вы можете добиться того же, используя комбинацию find и grep, например
find /path/to/search/dir/ -type f -exec grep --color -HIi 'numlock' {} +
Вы можете использовать grep -r для рекурсивного поиска содержимого файла, например
grep -Iri 'numlock' /path/to/search/dir/
, где /path/to/search/dir/ - это каталог верхнего уровня, с которого вы хотите начать поиск, - вы можете использовать /, но будьте готовы к этому, чтобы занять много времени.
Некоторые варианты, в зависимости от вашего точного требования:
, измените опцию -r на -R, если хотите чтобы следовать символическим ссылкам, добавьте параметр -l для печати только имен найденных файлов.I сообщает grep игнорировать двоичные файлы, а i делает поиск нечувствительным к регистру.
Если ваша версия grep не поддерживает рекурсивный поиск, вы можете добиться того же, используя комбинацию find и grep, например
find /path/to/search/dir/ -type f -exec grep --color -HIi 'numlock' {} +