# phpman > man > sg(1)

> **TLDR:** Ast-grep is a tool for code structural search, lint, and rewriting.
>
- Scan for possible queries using interactive mode:
  `sg scan --interactive`
- Rewrite code in the current directory using patterns:
  `sg run --pattern '{{foo}}' --rewrite '{{bar}}' --lang {{python}}`
- Visualize possible changes without applying them:
  `sg run --pattern '{{useState<number>($A)}}' --rewrite '{{useState($A)}}' --lang {{typescript}}`
- Output results as JSON, extract information using `jq` and interactively view it using `jless`:
  `sg run --pattern '{{Some($A)}}' --rewrite '{{None}}' --json | jq '{{.[].replacement}}' | jless`

*Source: tldr-pages*

---

[SG(1)](https://www.chedong.com/phpMan.php/man/SG/1/markdown)                                       User Commands                                      [SG(1)](https://www.chedong.com/phpMan.php/man/SG/1/markdown)



## NAME
       sg - execute command as different group ID

## SYNOPSIS
       **sg** [-] [group [-c ] command]

## DESCRIPTION
       The **sg** command works similar to **newgrp** but accepts a command. The command will be executed
       with the /bin/sh shell. With most shells you may run **sg** from, you need to enclose multi-word
       commands in quotes. Another difference between **newgrp** and **sg** is that some shells treat **newgrp**
       specially, replacing themselves with a new instance of a shell that **newgrp** creates. This
       doesn't happen with **sg**, so upon exit from a **sg** command you are returned to your previous
       group ID.

## CONFIGURATION
       The following configuration variables in /etc/login.defs change the behavior of this tool:

### SYSLOG___SG___ENAB (boolean)
           Enable "syslog" logging of **sg** activity.

## FILES
       /etc/passwd
           User account information.

       /etc/shadow
           Secure user account information.

       /etc/group
           Group account information.

       /etc/gshadow
           Secure group account information.

## SEE ALSO
       [**id**(1)](https://www.chedong.com/phpMan.php/man/id/1/markdown), [**login**(1)](https://www.chedong.com/phpMan.php/man/login/1/markdown), [**newgrp**(1)](https://www.chedong.com/phpMan.php/man/newgrp/1/markdown), [**su**(1)](https://www.chedong.com/phpMan.php/man/su/1/markdown), [**gpasswd**(1)](https://www.chedong.com/phpMan.php/man/gpasswd/1/markdown), [**group**(5)](https://www.chedong.com/phpMan.php/man/group/5/markdown), [**gshadow**(5)](https://www.chedong.com/phpMan.php/man/gshadow/5/markdown).



shadow-utils 4.8.1                           02/06/2024                                        [SG(1)](https://www.chedong.com/phpMan.php/man/SG/1/markdown)
