Создайте файл с именем something.desktop и добавьте следующий код. Если вы знакомы с командами запуска «something.desktop», в терминале будут перечислены все файлы в домашнем каталоге.
И обязательно сделайте исполняемый файл something.desktop. Чтобы сделать любой файл исполняемым, код-
chmod +x /path/to/your/something.desktop
Отредактируйте его со своими значениями
[Desktop Entry]
Type=Application
Name=IPT
GenericName=IPT
Comment=IPT Desktop icon developed by Mritunjay
Categories=Network;Security;
X-KeepTerminal=true
Icon=/usr/img/ip.png
Exec=gnome-terminal --tab --title="List files" --command="bash -c '/home; ls; $SHELL'"
NoDisplay=true
Надеюсь, это поможет!!
для фильтрации оснований строк в столбце
awk '$4 == "ABC" && $5 == "DEF" '
для печати только поля 2
awk '$4 == "ABC" && $5 == "DEF" { print $2} '
с несколькими условиями
awk '$4 == "ABC" && $5 == "DEF" { print $2}
$4 == "XYZ" && $5 == "GHI" { print $2} '
строки, не соответствующие условию, будут игнорироваться, дополнительные не нужныgrep -v
перенаправление и переменная
обратите внимание, что ${datafile.txt}
не будет расширяться доdatafile.txt
используйте либо
awk '... ' input.txt > output.txt
или
input="Datafile.txt"
output="Exportfile.txt"
awk '...' ${input} > ${output}
вы можете заключить переменную в кавычки, если есть специальный символ
awk '...' "${input}" > "${output}"
awk '(($4 " " $5 == "ABD POF") ||
($4 " " $5 == "ABG POE") ||
($4 " " $5 == "ABK POJ") ||
($4 " " $5 == "ABT POB")) { print $2 }' DataFile.txt > exportfile.txt
Это немного упрощает задачу, сравнивая конкатенацию $4 и $5 с конкатенацией двух строк из 3 -букв, с которыми вы хотите сопоставить их.
Он также устраняет 3 из 4 повторяющихся блоков кода в ответе Арчемара (, то есть{print $2}
). См. Don't Repeat Yourself для краткого обзора того, почему рекомендуется избегать нескольких копий одного и того же кода в одной и той же программе.
Если вы были абсолютно уверены, что во входных данных не было комбинаций из 4 и 5 долларов, таких как ABD и либо POE, либо POJ, либо POB и т. д., которые вы не хотите сопоставить, вы могли бы использовать одно совпадение с регулярным выражением вместо четырех фиксированных -строковых совпадений:
awk '$4 " " $5 ~ /^AB[DGKT] PO[FEJB]$/ {print $2}' DataFile.txt > exportfile.txt
Это будет соответствовать всем комбинациям AB, за которыми следуют либо D,G,K, либо T и PO, за которыми следует F,E,J или B, а не только 4 перечисленные вами комбинации.