-
Notifications
You must be signed in to change notification settings - Fork 483
Python Regular Expressions
When matching, Gam uses the match function which always looks for a match at the beginning of a string.
- "^Foo Bar$" - match the entire string "Foo Bar"
- "Foo Bar" - match a string that starts with "Foo Bar"
- ".*Foo Bar" - match a string that contains "Foo Bar"
- ".*Foo Bar$" - match a string that ends with "Foo Bar"
Select Aliases to display
gam print aliases [todrive <ToDriveAttribute>*]
[aliasmatchpattern <REMatchPattern>]
Collections
matchfield|skipfield <FieldName> <REMatchPattern>
keypattern <REMatchPattern>
Display Classroom courses based on owner's email address
gam print courses [todrive <ToDriveAttribute>*]
[owneremailmatchpattern <REMatchPattern>]
Clear Contacts based on email address
gam <UserTypeEntity> clear contacts
emailmatchpattern <REMatchPattern>
emailclearpattern <REMatchPattern>
Display Contacts based on email address
gam <UserTypeEntity> print contacts
emailmatchpattern <REMatchPattern>
Delete Gmail labels based on label names
gam <UserTypeEntity> delete labels regex:<REMatchPattern>
Display Gmail messages based on label names
gam <UserTypeEntity> print|show messages|threads
[labelmatchpattern <REMatchPattern>
Display Gmail messages based on sender email address
gam <UserTypeEntity> print|show messages|threads
[sendermatchpattern <REMatchPattern>]
<LabelName>|regex:<REMatchPattern>
Display Gmail messages based on attachment names
gam <UserTypeEntity> print|show messages|threads
[showattachments [attachmentnamepattern <REMatchPattern>]]
Save Gmail message attachments based on attachment names
gam <UserTypeEntity> show messages|threads
[saveattachments [attachmentnamepattern <REMatchPattern>]]
Select Groups to display and which members to display
gam print groups
[emailmatchpattern [not] <REMatchPattern>] [namematchpattern [not] <REMatchPattern>]
[descriptionmatchpattern [not] <REMatchPattern>]
[memberemaildisplaypattern|memberemailskippattern <REMatchPattern>]
Select Groups to display membership and which members to display
gam print group-members
[emailmatchpattern [not] <REMatchPattern>] [namematchpattern [not] <REMatchPattern>]
[descriptionmatchpattern [not] <REMatchPattern>]
[memberemaildisplaypattern|memberemailskippattern <REMatchPattern>]
Manage Group membership
gam update group|groups <GroupEntity> clear [member] [manager] [owner]
[emailclearpattern|emailretainpattern <REMatchPattern>]
Select User aliases to display
gam print users
[aliasmatchpattern <REMatchPattern>]
Display Drive file information based on file names
gam <UserTypeEntity> print|show filecounts
[filenamematchpattern <REMatchPattern>]
gam <UserTypeEntity> print filelist
[filenamematchpattern <REMatchPattern>]
gam <UserTypeEntity> print|show filetree
[filenamematchpattern <REMatchPattern>]
Update Drive file name based on a pattern
gam <UserTypeEntity> update drivefile <DriveFileEntity>
(replacefilename <REMatchPattern> <String>)*
Select Vault exports to download
gam download vaultexport <ExportItem> matter <MatterItem>
[bucketmatchpattern <REMatchPattern>] [objectmatchpattern <REMatchPattern>]
When substituting, Gam uses the sub function which looks for a match anywhere in a string.
- "^Foo Bar$"` - match the entire string "Foo Bar"
- "^Foo Bar"` - match a string that starts with "Foo Bar"
- "Foo Bar"` - match a string that contains "Foo Bar"
- "Foo Bar$"` - match a string that ends with "Foo Bar"
Collections
keypattern <RESearchPattern> keyvalue <RESubstitution>
Updating Calendar event descriptions uses the search function which looks for a match anywhere in a string.
gam calendars <CalendarEntity> update events [<EventEntity>]
replacedescription <REMatchPattern> <RESubstitution>
gam <UserTypeEntity> update events <UserCalendarEntity> [<EventEntity>]
replacedescription <REMatchPattern> <RESubstitution>
Updating Drive file names uses the search function which looks for a match anywhere in a string.
gam <UserTypeEntity> update drivefile <DriveFileEntity>
replacefilename <REMatchPattern> <RESubstitution>
replacefilename "^(.+) (.+)$" "\2 \1" - swap the two words separated by space, e.g. "Foo Bar" becomes "Bar Foo"
Updating Gmail label names uses the search function which looks for a match anywhere in a string.
gam <UserTypeEntity> update label
search <REMatchPattern> replace <RESubstitution>
search "^Foo Bar$" replace "Doodle" - replace the entire string "Foo Bar" with "Doodle"
Updating User primary email addresses uses the search function which looks for a match anywhere in a string.
gam <UserTypeEntity> update user
updateprimaryemail <RESearchPattern> <RESubstitution>
updateprimaryemail "^(.).*_(.+)@(.+)$" <\1\2@\3> - replace "[email protected]" with "[email protected]"
When searching, Gam uses the search function which always looks for a match anywhere in a string.
- "^Foo Bar$"` - match the entire string "Foo Bar"
- "^Foo Bar"` - match a string that starts with "Foo Bar"
- "Foo Bar"` - match a string that contains "Foo Bar"
- "Foo Bar$"` - match a string that ends with "Foo Bar"
CSV input and output row filtering use the search function which looks for a match anywhere in a string.
<FieldNameFilter> :: = <REMatchPattern>
<RowValueFilter> ::=
[(any|all):]regex:<RESearchPattern>|
[(any|all):]regexcs:<RESearchPattern>|
[(any|all):]notregex:<RESearchPattern>|
[(any|all):]notregexcs:<RESearchPattern>
Calendar event matchfields use the search function which looks for a match anywhere in a string.
<EventMatchProperty> ::=
(matchfield attendees <EmailAddressEntity>)|
(matchfield attendeespattern <RESearchPattern>)|
(matchfield attendeesstatus [<AttendeeAttendance>] [<AttendeeStatus>] <EmailAddressEntity>)|
(matchfield creatoremail <RESearchPattern>)|
(matchfield creatorname <RESearchPattern>)|
(matchfield description <RESearchPattern>)|
(matchfield location <RESearchPattern>)|
(matchfield organizeremail <RESearchPattern>)|
(matchfield organizername <RESearchPattern>)|
(matchfield status <RESearchPattern>)|
(matchfield summary <RESearchPattern>)|
(matchfield transparency <RESearchPattern>)|
(matchfield visibility <RESearchPattern>)
<EventSelectEntity> ::=
(<EventSelectProperty>+ <EventMatchProperty>*)
Updating user primary email addresses uses the search function which looks for a match anywhere in a string.
gam <UserTypeEntity> update user <UserAttribute>* updateprimaryemail <RESearchPattern> <RESubstitution>
Need more help? Ask on the GAM Discussion Group or Chat Space.
You can suggest edits to these Wiki pages by submitting pull requests against the wiki files.
oUpdate History
Installation
- How to Install GAM7
- How to Upgrade GAMADV-XTD3 to GAM7
- How to Upgrade Legacy GAM to GAM7
- How to Update GAM7
- Verifying a GAM7 Build is Legitimate and Official
- Install GAM as Python Library
- GAM7 on Chrome OS Devices
- GAM7 on Android Devices
- Google Network Addresses
- HTTPS Proxy
- SSL Root CA Certificates
- How to Uninstall GAM7
Configuration
- Authorization
- GAM Configuration
- Running GAM7 securely on a Google Compute Engine
- Using GAM7 with a delegated admin service account
- Using GAM7 with a YubiKey
- GAM with minimal GCP rights
Notes and Information
- Upgrade Benefits
- Questions? Visit the GAM Discussion Forum
- GAM Public Chat Room
- Scripts
- Other Resources
- Drive REST API v3
- BNF Syntax
- GAM Return Codes
- Python Regular Expressions
- Rclone
Definitions
Command Processing
- Bulk Processing
- Command Line Parsing
- Command Logging and Progress
- Command data from Google Docs/Sheets/Storage
- CSV Special Characters
- CSV Input Filtering
- CSV Output Filtering
- Meta Commands and File Redirection
- Permission matches
- Tag Replace
- Todrive
Collections
Client Access
- Addresses
- Administrators
- Alert Center
- Aliases
- Calendars
- Calendars - Access
- Calendars - Events
- Chrome Auto Update Expiration Counts
- Chrome Browser Cloud Management
- Chrome Device Needs Attention Counts
- Chrome Installed Apps
- Chrome Policies
- Chrome Printers
- Chrome Profile Management
- Chrome Version Counts
- Chrome Version History
- ChromeOS Devices
- Classroom - Courses
- Classroom - Guardians
- Classroom - Invitations
- Classroom - Membership
- Cloud Channel
- Cloud Identity Devices
- Cloud Identity Groups
- Cloud Identity Groups - Membership
- Cloud Identity Policies
- Cloud Storage
- Context Aware Access Levels
- Customer
- Domains
- Domains - Verification
- Domain People - Contacts & Profiles
- Domain Shared Contacts
- Email Audit Monitor
- Find File Owner
- Google Data Transfers
- Groups
- Groups - Membership
- Inbound SSO
- Licenses
- Mobile Devices
- Organizational Units
- Reports
- Reseller
- Resources
- Send Email
- Schemas
- Shared Drives
- Sites
- Unmanaged Accounts
- Users
- Users - Application Specific Passwords
- Users - Backup Verification Codes
- Users - Classroom - Profile
- Users - Contacts - Delegates
- Users - Deprovision
- Users - Group Membership
- Users - Photo
- Users - Profile Sharing
- Users - Signout and Turn off 2-Step Verification
- Users - Tokens
- Vault - Takeout
- Version and Help
Special Service Account Access
Service Account Access
- Users - Analytics Admin
- Users - Calendars
- Users - Calendars - Access
- Users - Calendars - Events
- Users - Chat
- Users - Classification Labels
- Users - Contacts
- Users - Drive - File Selection
- Users - Drive - Activity/Settings
- Users - Drive - Cleanup
- Users - Drive - Comments
- Users - Drive - Copy/Move
- Users - Drive - Files-Display
- Users - Drive - Files-Manage
- Users - Drive - Orphans
- Users - Drive - Ownership
- Users - Drive - Permissions
- Users - Drive - Query
- Users - Drive - Revisions
- Users - Drive - Shortcuts
- Users - Drive - Transfer
- Users - Forms
- Users - Gmail - Client Side Encryption
- Users - Gmail - Delegates
- Users - Gmail - Filters
- Users - Gmail - Forwarding
- Users - Gmail - Labels
- Users - Gmail - Messages/Threads
- Users - Gmail - Profile
- Users - Gmail - S/MIME
- Users - Gmail - SendAs/Signature/Vacation
- Users - Gmail - Settings
- Users - Keep - Notes
- Users - Looker Studio
- Users - Meet
- Users - Classroom - Profile
- Users - People - Contacts & Profiles
- Users - Profile Photo
- Users - Shared Drives
- Users - Spreadsheets
- Users - Tasks
- Users - YouTube
GAM Tutorials
- Account Auditing
- Calendar Settings
- Chat Bot commands
- Chrome Browser Management
- Chrome Policy Settings
- Context Aware Access levels
- Data Transfers
- Domain Verification
- Google Drive Management
- Group Settings
- Inbound SSO Settings
- Managing Admins
- Managing Classroom
- Managing Custom User Schemas
- Managing Devices
- Managing Organizations
- Managing Product Licenses
- Managing Users, Groups, Aliases, Domains, Mobile and Chrome Devices, and Resource Calendars
- OAuth Authentication Related Commands
- Print Users, Groups, Aliases, Mobile and Chrome OS devices, OUs, Licenses and Reports
- Printers
- Unmanaged Users and Invitations
- User Email Settings
- User Security Settings