GET https://kbin.spritesserver.nl/index.php/u/@Deluxe0293@infosec.pub/active

Security

Token

There is no security token.

Firewall

main Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.app_user_provider
context main
entry_point App\Security\KbinAuthenticator
user_checker App\Security\UserChecker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "two_factor"
  "remember_me"
  "App\Security\KbinAuthenticator"
  "App\Security\FacebookAuthenticator"
  "App\Security\GoogleAuthenticator"
  "App\Security\GithubAuthenticator"
  "App\Security\KeycloakAuthenticator"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#723
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
  -logger: Monolog\Logger {#783 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\ContextListener {#706
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#1017 …}
  -sessionKey: "_security_main"
  -logger: Monolog\Logger {#783 …}
  -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#705 …}
  -dispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
  -registered: false
  -trustResolver: Scheb\TwoFactorBundle\Security\Authentication\AuthenticationTrustResolver {#780 …}
  -sessionTrackerEnabler: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage::enableUsageTracking(): void {#703 …}
}
2.85 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#584
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
0.00 ms (none)
Scheb\TwoFactorBundle\Security\Http\Firewall\TwoFactorAccessListener {#582
  -twoFactorFirewallConfig: Scheb\TwoFactorBundle\Security\TwoFactor\TwoFactorFirewallConfig {#842 …}
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -twoFactorAccessDecider: Scheb\TwoFactorBundle\Security\Authorization\TwoFactorAccessDecider {#581 …}
}
0.21 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

No authenticators have been recorded. Check previous profiles on your authentication endpoint.

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
4
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
5
"App\Security\Voter\EntryCommentVoter"
6
"App\Security\Voter\EntryVoter"
7
"App\Security\Voter\MagazineVoter"
8
"App\Security\Voter\MessageThreadVoter"
9
"App\Security\Voter\MessageVoter"
10
"App\Security\Voter\NotificationVoter"
11
"App\Security\Voter\OAuth2UserConsentVoter"
12
"App\Security\Voter\PostCommentVoter"
13
"App\Security\Voter\PostVoter"
14
"App\Security\Voter\UserVoter"

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#1591
  +user: Proxies\__CG__\App\Entity\User {#1740 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1613 …}
  +slug: "My-First-Regular-Expressions"
  +title: "My First Regular Expressions"
  +url: null
  +body: """
    I’ve been reading *Mastering Regular Expressions* by Jeffrey E.F. Friedl, and since nobody in my life (aside from my wife) cares, I thought I’d share something I’m pretty proud of. My first set of regular expressions, that I wrote myself to manipulate the text I’m working with.\n
    \n
    What’s I’m so happy about is that I wrote these expressions. I understand exactly what they do and the purpose of each character in each expression.\n
    \n
    I’ve used regex in the past. Stuff cobbled together from stack overflow, but I never really understood how they worked or what the expressions meant, just that they did what I needed them to do at the time.\n
    \n
    I’m only about 10% of the way through the book, but already I understand so much more than I ever did about regex *(I also recognize I have a lot to learn)*.\n
    \n
    I wrote the expressions to be used with egrep and sed to generate and clean up a list of filenames pulled out of tarballs. *(movies I’ve ripped from my DVD collection and tarballed to archive them)*.\n
    \n
    The first expression I wrote was this one used with tar and egrep to list the files in the tarball and get just the name of the video file:\n
    \n
    `tar -tzvf file.tar.gz | egrep -o ‘/[^/]*.m(kv|p4)’ > movielist`\n
    \n
    Which gives me a list of movies of which this is an example:\n
    \n
    `/The.Hunger.Games.(2012).[tmdbid-70160].mp4`\n
    \n
    Then I used sed with the expression groups to remove:\n
    \n
    - the leading forward slash\n
    - Everything from `.[` to the end\n
    - All of the periods in between words\n
    \n
    And the last expression checks for one or more spaces and replaces them with a single space.\n
    \n
    This is the full sed command:\n
    \n
    `sed -Eie ‘s/^///; s/.[[a-z]±[0-9]+].m(p4|kv)//; s/[^a-zA-Z0-9()&-]/ /g; s/ +/ /g’ movielist`\n
    \n
    Which leaves me with a pretty list of movies that looks like this:\n
    \n
    `The Hunger Games (2012)`\n
    \n
    I’m sure this could be done more elegantly, and I’m happy for any feedback on how to do that! For now, I’m just excited that I’m beginning to understand regex and how to use it!\n
    \n
    Edit: fixed title so it didn’t say “regex expressions”
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 63
  +favouriteCount: 214
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1711562613 {#1617
    date: 2024-03-27 19:03:33.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1604 …}
  +votes: Doctrine\ORM\PersistentCollection {#1619 …}
  +reports: Doctrine\ORM\PersistentCollection {#1683 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2411 …}
  +badges: Doctrine\ORM\PersistentCollection {#2370 …}
  +children: [
    App\Entity\EntryComment {#1695
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1591 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
      +image: null
      +parent: null
      +root: null
      +body: "this is definitely something to be proud of. great work, keep it up!"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1707574202 {#1433
        date: 2024-02-10 15:10:02.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@harsh3466@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1579 …}
      +nested: Doctrine\ORM\PersistentCollection {#1577 …}
      +votes: Doctrine\ORM\PersistentCollection {#1578 …}
      +reports: Doctrine\ORM\PersistentCollection {#1571 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1574 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1667 …}
      -id: 249626
      -bodyTs: "'definit':3 'great':9 'keep':11 'proud':7 'someth':4 'work':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://infosec.pub/comment/5239895"
      +editedAt: null
      +createdAt: DateTimeImmutable @1703456451 {#1430
        date: 2023-12-24 23:20:51.0 +01:00
      }
      +"title": 249626
    }
  ]
  -id: 24511
  -titleTs: "'express':4 'first':2 'regular':3"
  -bodyTs: "'-70160':243 '-9':302 '/g':312,314 '/the.hunger.games':240 '0':301 '10':123 '2012':241,332 '9':311 'a-z':298 'a-za-z0':307 'alreadi':131 'also':144 'archiv':187 'asid':18 'begin':363 'book':129 'care':22 'charact':76 'check':275 'clean':166 'cobbl':88 'collect':183 'command':293 'could':337 'd':26 'didn':377 'done':339 'dvd':182 'e.f':10 'edit':372 'egrep':160,201,221 'eie':295 'eleg':341 'end':263 'ever':139 'everyth':259 'exact':67 'exampl':239 'excit':359 'express':7,39,64,79,104,155,191,251,274,381 'feedback':348 'file':205,217 'file.tar.gz':220 'filenam':171 'first':35,190 'fix':373 'forward':257 'friedl':11 'full':291 'game':331 'generat':164 'get':210 'give':228 'group':252 'happi':57,345 'hunger':330 'jeffrey':9 'kv':224,305 'last':273 'lead':256 'learn':151 'leav':317 'life':17 'like':327 'list':169,203,231,322 'look':326 'lot':149 'm':30,49,55,120,223,303,334,344,357,362 'manipul':45 'master':5 'meant':105 'movi':176,233,324 'movielist':226,315 'mp4':244 'much':135 'name':213 'need':112 'never':95 'nobodi':14 'o':222 'one':196,277 'overflow':92 'p4':225,304 'past':86 'period':267 'pretti':31,321 'proud':32 'pull':172 'purpos':73 'read':4 'realli':96 'recogn':145 'regex':83,142,366,380 'regular':6,38 'remov':254 'replac':282 'rip':179 'say':379 'sed':162,248,292,294 'set':36 'share':27 'sinc':13 'singl':286 'slash':258 'someth':28 'space':280,287 'stack':91 'stuff':87 'sure':335 'tar':199,218 'tarbal':175,185,208 'text':47 'thought':24 'time':118 'titl':374 'tmdbid':242 'togeth':89 'tzvf':219 'understand':66,133,365 'understood':97 'use':82,158,197,247,370 've':2,81,178 'video':216 'way':126 'wife':21 'word':270 'work':50,100 'wrote':42,62,153,193 'z':300 'z0':310 'za':309"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1703542531
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/9942188"
  +editedAt: DateTimeImmutable @1707607314 {#1697
    date: 2024-02-11 00:21:54.0 +01:00
  }
  +createdAt: DateTimeImmutable @1703456131 {#1736
    date: 2023-12-24 23:15:31.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
Proxies\__CG__\App\Entity\Entry {#1591
  +user: Proxies\__CG__\App\Entity\User {#1740 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1613 …}
  +slug: "My-First-Regular-Expressions"
  +title: "My First Regular Expressions"
  +url: null
  +body: """
    I’ve been reading *Mastering Regular Expressions* by Jeffrey E.F. Friedl, and since nobody in my life (aside from my wife) cares, I thought I’d share something I’m pretty proud of. My first set of regular expressions, that I wrote myself to manipulate the text I’m working with.\n
    \n
    What’s I’m so happy about is that I wrote these expressions. I understand exactly what they do and the purpose of each character in each expression.\n
    \n
    I’ve used regex in the past. Stuff cobbled together from stack overflow, but I never really understood how they worked or what the expressions meant, just that they did what I needed them to do at the time.\n
    \n
    I’m only about 10% of the way through the book, but already I understand so much more than I ever did about regex *(I also recognize I have a lot to learn)*.\n
    \n
    I wrote the expressions to be used with egrep and sed to generate and clean up a list of filenames pulled out of tarballs. *(movies I’ve ripped from my DVD collection and tarballed to archive them)*.\n
    \n
    The first expression I wrote was this one used with tar and egrep to list the files in the tarball and get just the name of the video file:\n
    \n
    `tar -tzvf file.tar.gz | egrep -o ‘/[^/]*.m(kv|p4)’ > movielist`\n
    \n
    Which gives me a list of movies of which this is an example:\n
    \n
    `/The.Hunger.Games.(2012).[tmdbid-70160].mp4`\n
    \n
    Then I used sed with the expression groups to remove:\n
    \n
    - the leading forward slash\n
    - Everything from `.[` to the end\n
    - All of the periods in between words\n
    \n
    And the last expression checks for one or more spaces and replaces them with a single space.\n
    \n
    This is the full sed command:\n
    \n
    `sed -Eie ‘s/^///; s/.[[a-z]±[0-9]+].m(p4|kv)//; s/[^a-zA-Z0-9()&-]/ /g; s/ +/ /g’ movielist`\n
    \n
    Which leaves me with a pretty list of movies that looks like this:\n
    \n
    `The Hunger Games (2012)`\n
    \n
    I’m sure this could be done more elegantly, and I’m happy for any feedback on how to do that! For now, I’m just excited that I’m beginning to understand regex and how to use it!\n
    \n
    Edit: fixed title so it didn’t say “regex expressions”
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 63
  +favouriteCount: 214
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1711562613 {#1617
    date: 2024-03-27 19:03:33.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1604 …}
  +votes: Doctrine\ORM\PersistentCollection {#1619 …}
  +reports: Doctrine\ORM\PersistentCollection {#1683 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2411 …}
  +badges: Doctrine\ORM\PersistentCollection {#2370 …}
  +children: [
    App\Entity\EntryComment {#1695
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1591 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
      +image: null
      +parent: null
      +root: null
      +body: "this is definitely something to be proud of. great work, keep it up!"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1707574202 {#1433
        date: 2024-02-10 15:10:02.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@harsh3466@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1579 …}
      +nested: Doctrine\ORM\PersistentCollection {#1577 …}
      +votes: Doctrine\ORM\PersistentCollection {#1578 …}
      +reports: Doctrine\ORM\PersistentCollection {#1571 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1574 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1667 …}
      -id: 249626
      -bodyTs: "'definit':3 'great':9 'keep':11 'proud':7 'someth':4 'work':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://infosec.pub/comment/5239895"
      +editedAt: null
      +createdAt: DateTimeImmutable @1703456451 {#1430
        date: 2023-12-24 23:20:51.0 +01:00
      }
      +"title": 249626
    }
  ]
  -id: 24511
  -titleTs: "'express':4 'first':2 'regular':3"
  -bodyTs: "'-70160':243 '-9':302 '/g':312,314 '/the.hunger.games':240 '0':301 '10':123 '2012':241,332 '9':311 'a-z':298 'a-za-z0':307 'alreadi':131 'also':144 'archiv':187 'asid':18 'begin':363 'book':129 'care':22 'charact':76 'check':275 'clean':166 'cobbl':88 'collect':183 'command':293 'could':337 'd':26 'didn':377 'done':339 'dvd':182 'e.f':10 'edit':372 'egrep':160,201,221 'eie':295 'eleg':341 'end':263 'ever':139 'everyth':259 'exact':67 'exampl':239 'excit':359 'express':7,39,64,79,104,155,191,251,274,381 'feedback':348 'file':205,217 'file.tar.gz':220 'filenam':171 'first':35,190 'fix':373 'forward':257 'friedl':11 'full':291 'game':331 'generat':164 'get':210 'give':228 'group':252 'happi':57,345 'hunger':330 'jeffrey':9 'kv':224,305 'last':273 'lead':256 'learn':151 'leav':317 'life':17 'like':327 'list':169,203,231,322 'look':326 'lot':149 'm':30,49,55,120,223,303,334,344,357,362 'manipul':45 'master':5 'meant':105 'movi':176,233,324 'movielist':226,315 'mp4':244 'much':135 'name':213 'need':112 'never':95 'nobodi':14 'o':222 'one':196,277 'overflow':92 'p4':225,304 'past':86 'period':267 'pretti':31,321 'proud':32 'pull':172 'purpos':73 'read':4 'realli':96 'recogn':145 'regex':83,142,366,380 'regular':6,38 'remov':254 'replac':282 'rip':179 'say':379 'sed':162,248,292,294 'set':36 'share':27 'sinc':13 'singl':286 'slash':258 'someth':28 'space':280,287 'stack':91 'stuff':87 'sure':335 'tar':199,218 'tarbal':175,185,208 'text':47 'thought':24 'time':118 'titl':374 'tmdbid':242 'togeth':89 'tzvf':219 'understand':66,133,365 'understood':97 'use':82,158,197,247,370 've':2,81,178 'video':216 'way':126 'wife':21 'word':270 'work':50,100 'wrote':42,62,153,193 'z':300 'z0':310 'za':309"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1703542531
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/9942188"
  +editedAt: DateTimeImmutable @1707607314 {#1697
    date: 2024-02-11 00:21:54.0 +01:00
  }
  +createdAt: DateTimeImmutable @1703456131 {#1736
    date: 2023-12-24 23:15:31.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#1591
  +user: Proxies\__CG__\App\Entity\User {#1740 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1613 …}
  +slug: "My-First-Regular-Expressions"
  +title: "My First Regular Expressions"
  +url: null
  +body: """
    I’ve been reading *Mastering Regular Expressions* by Jeffrey E.F. Friedl, and since nobody in my life (aside from my wife) cares, I thought I’d share something I’m pretty proud of. My first set of regular expressions, that I wrote myself to manipulate the text I’m working with.\n
    \n
    What’s I’m so happy about is that I wrote these expressions. I understand exactly what they do and the purpose of each character in each expression.\n
    \n
    I’ve used regex in the past. Stuff cobbled together from stack overflow, but I never really understood how they worked or what the expressions meant, just that they did what I needed them to do at the time.\n
    \n
    I’m only about 10% of the way through the book, but already I understand so much more than I ever did about regex *(I also recognize I have a lot to learn)*.\n
    \n
    I wrote the expressions to be used with egrep and sed to generate and clean up a list of filenames pulled out of tarballs. *(movies I’ve ripped from my DVD collection and tarballed to archive them)*.\n
    \n
    The first expression I wrote was this one used with tar and egrep to list the files in the tarball and get just the name of the video file:\n
    \n
    `tar -tzvf file.tar.gz | egrep -o ‘/[^/]*.m(kv|p4)’ > movielist`\n
    \n
    Which gives me a list of movies of which this is an example:\n
    \n
    `/The.Hunger.Games.(2012).[tmdbid-70160].mp4`\n
    \n
    Then I used sed with the expression groups to remove:\n
    \n
    - the leading forward slash\n
    - Everything from `.[` to the end\n
    - All of the periods in between words\n
    \n
    And the last expression checks for one or more spaces and replaces them with a single space.\n
    \n
    This is the full sed command:\n
    \n
    `sed -Eie ‘s/^///; s/.[[a-z]±[0-9]+].m(p4|kv)//; s/[^a-zA-Z0-9()&-]/ /g; s/ +/ /g’ movielist`\n
    \n
    Which leaves me with a pretty list of movies that looks like this:\n
    \n
    `The Hunger Games (2012)`\n
    \n
    I’m sure this could be done more elegantly, and I’m happy for any feedback on how to do that! For now, I’m just excited that I’m beginning to understand regex and how to use it!\n
    \n
    Edit: fixed title so it didn’t say “regex expressions”
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 63
  +favouriteCount: 214
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1711562613 {#1617
    date: 2024-03-27 19:03:33.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1604 …}
  +votes: Doctrine\ORM\PersistentCollection {#1619 …}
  +reports: Doctrine\ORM\PersistentCollection {#1683 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2411 …}
  +badges: Doctrine\ORM\PersistentCollection {#2370 …}
  +children: [
    App\Entity\EntryComment {#1695
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1591 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
      +image: null
      +parent: null
      +root: null
      +body: "this is definitely something to be proud of. great work, keep it up!"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1707574202 {#1433
        date: 2024-02-10 15:10:02.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@harsh3466@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1579 …}
      +nested: Doctrine\ORM\PersistentCollection {#1577 …}
      +votes: Doctrine\ORM\PersistentCollection {#1578 …}
      +reports: Doctrine\ORM\PersistentCollection {#1571 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1574 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1667 …}
      -id: 249626
      -bodyTs: "'definit':3 'great':9 'keep':11 'proud':7 'someth':4 'work':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://infosec.pub/comment/5239895"
      +editedAt: null
      +createdAt: DateTimeImmutable @1703456451 {#1430
        date: 2023-12-24 23:20:51.0 +01:00
      }
      +"title": 249626
    }
  ]
  -id: 24511
  -titleTs: "'express':4 'first':2 'regular':3"
  -bodyTs: "'-70160':243 '-9':302 '/g':312,314 '/the.hunger.games':240 '0':301 '10':123 '2012':241,332 '9':311 'a-z':298 'a-za-z0':307 'alreadi':131 'also':144 'archiv':187 'asid':18 'begin':363 'book':129 'care':22 'charact':76 'check':275 'clean':166 'cobbl':88 'collect':183 'command':293 'could':337 'd':26 'didn':377 'done':339 'dvd':182 'e.f':10 'edit':372 'egrep':160,201,221 'eie':295 'eleg':341 'end':263 'ever':139 'everyth':259 'exact':67 'exampl':239 'excit':359 'express':7,39,64,79,104,155,191,251,274,381 'feedback':348 'file':205,217 'file.tar.gz':220 'filenam':171 'first':35,190 'fix':373 'forward':257 'friedl':11 'full':291 'game':331 'generat':164 'get':210 'give':228 'group':252 'happi':57,345 'hunger':330 'jeffrey':9 'kv':224,305 'last':273 'lead':256 'learn':151 'leav':317 'life':17 'like':327 'list':169,203,231,322 'look':326 'lot':149 'm':30,49,55,120,223,303,334,344,357,362 'manipul':45 'master':5 'meant':105 'movi':176,233,324 'movielist':226,315 'mp4':244 'much':135 'name':213 'need':112 'never':95 'nobodi':14 'o':222 'one':196,277 'overflow':92 'p4':225,304 'past':86 'period':267 'pretti':31,321 'proud':32 'pull':172 'purpos':73 'read':4 'realli':96 'recogn':145 'regex':83,142,366,380 'regular':6,38 'remov':254 'replac':282 'rip':179 'say':379 'sed':162,248,292,294 'set':36 'share':27 'sinc':13 'singl':286 'slash':258 'someth':28 'space':280,287 'stack':91 'stuff':87 'sure':335 'tar':199,218 'tarbal':175,185,208 'text':47 'thought':24 'time':118 'titl':374 'tmdbid':242 'togeth':89 'tzvf':219 'understand':66,133,365 'understood':97 'use':82,158,197,247,370 've':2,81,178 'video':216 'way':126 'wife':21 'word':270 'work':50,100 'wrote':42,62,153,193 'z':300 'z0':310 'za':309"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1703542531
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/9942188"
  +editedAt: DateTimeImmutable @1707607314 {#1697
    date: 2024-02-11 00:21:54.0 +01:00
  }
  +createdAt: DateTimeImmutable @1703456131 {#1736
    date: 2023-12-24 23:15:31.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
6 DENIED moderate
App\Entity\EntryComment {#1695
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1591
    +user: Proxies\__CG__\App\Entity\User {#1740 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1613 …}
    +slug: "My-First-Regular-Expressions"
    +title: "My First Regular Expressions"
    +url: null
    +body: """
      I’ve been reading *Mastering Regular Expressions* by Jeffrey E.F. Friedl, and since nobody in my life (aside from my wife) cares, I thought I’d share something I’m pretty proud of. My first set of regular expressions, that I wrote myself to manipulate the text I’m working with.\n
      \n
      What’s I’m so happy about is that I wrote these expressions. I understand exactly what they do and the purpose of each character in each expression.\n
      \n
      I’ve used regex in the past. Stuff cobbled together from stack overflow, but I never really understood how they worked or what the expressions meant, just that they did what I needed them to do at the time.\n
      \n
      I’m only about 10% of the way through the book, but already I understand so much more than I ever did about regex *(I also recognize I have a lot to learn)*.\n
      \n
      I wrote the expressions to be used with egrep and sed to generate and clean up a list of filenames pulled out of tarballs. *(movies I’ve ripped from my DVD collection and tarballed to archive them)*.\n
      \n
      The first expression I wrote was this one used with tar and egrep to list the files in the tarball and get just the name of the video file:\n
      \n
      `tar -tzvf file.tar.gz | egrep -o ‘/[^/]*.m(kv|p4)’ > movielist`\n
      \n
      Which gives me a list of movies of which this is an example:\n
      \n
      `/The.Hunger.Games.(2012).[tmdbid-70160].mp4`\n
      \n
      Then I used sed with the expression groups to remove:\n
      \n
      - the leading forward slash\n
      - Everything from `.[` to the end\n
      - All of the periods in between words\n
      \n
      And the last expression checks for one or more spaces and replaces them with a single space.\n
      \n
      This is the full sed command:\n
      \n
      `sed -Eie ‘s/^///; s/.[[a-z]±[0-9]+].m(p4|kv)//; s/[^a-zA-Z0-9()&-]/ /g; s/ +/ /g’ movielist`\n
      \n
      Which leaves me with a pretty list of movies that looks like this:\n
      \n
      `The Hunger Games (2012)`\n
      \n
      I’m sure this could be done more elegantly, and I’m happy for any feedback on how to do that! For now, I’m just excited that I’m beginning to understand regex and how to use it!\n
      \n
      Edit: fixed title so it didn’t say “regex expressions”
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 63
    +favouriteCount: 214
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1711562613 {#1617
      date: 2024-03-27 19:03:33.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1604 …}
    +votes: Doctrine\ORM\PersistentCollection {#1619 …}
    +reports: Doctrine\ORM\PersistentCollection {#1683 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2411 …}
    +badges: Doctrine\ORM\PersistentCollection {#2370 …}
    +children: [
      App\Entity\EntryComment {#1695}
    ]
    -id: 24511
    -titleTs: "'express':4 'first':2 'regular':3"
    -bodyTs: "'-70160':243 '-9':302 '/g':312,314 '/the.hunger.games':240 '0':301 '10':123 '2012':241,332 '9':311 'a-z':298 'a-za-z0':307 'alreadi':131 'also':144 'archiv':187 'asid':18 'begin':363 'book':129 'care':22 'charact':76 'check':275 'clean':166 'cobbl':88 'collect':183 'command':293 'could':337 'd':26 'didn':377 'done':339 'dvd':182 'e.f':10 'edit':372 'egrep':160,201,221 'eie':295 'eleg':341 'end':263 'ever':139 'everyth':259 'exact':67 'exampl':239 'excit':359 'express':7,39,64,79,104,155,191,251,274,381 'feedback':348 'file':205,217 'file.tar.gz':220 'filenam':171 'first':35,190 'fix':373 'forward':257 'friedl':11 'full':291 'game':331 'generat':164 'get':210 'give':228 'group':252 'happi':57,345 'hunger':330 'jeffrey':9 'kv':224,305 'last':273 'lead':256 'learn':151 'leav':317 'life':17 'like':327 'list':169,203,231,322 'look':326 'lot':149 'm':30,49,55,120,223,303,334,344,357,362 'manipul':45 'master':5 'meant':105 'movi':176,233,324 'movielist':226,315 'mp4':244 'much':135 'name':213 'need':112 'never':95 'nobodi':14 'o':222 'one':196,277 'overflow':92 'p4':225,304 'past':86 'period':267 'pretti':31,321 'proud':32 'pull':172 'purpos':73 'read':4 'realli':96 'recogn':145 'regex':83,142,366,380 'regular':6,38 'remov':254 'replac':282 'rip':179 'say':379 'sed':162,248,292,294 'set':36 'share':27 'sinc':13 'singl':286 'slash':258 'someth':28 'space':280,287 'stack':91 'stuff':87 'sure':335 'tar':199,218 'tarbal':175,185,208 'text':47 'thought':24 'time':118 'titl':374 'tmdbid':242 'togeth':89 'tzvf':219 'understand':66,133,365 'understood':97 'use':82,158,197,247,370 've':2,81,178 'video':216 'way':126 'wife':21 'word':270 'work':50,100 'wrote':42,62,153,193 'z':300 'z0':310 'za':309"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1703542531
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/9942188"
    +editedAt: DateTimeImmutable @1707607314 {#1697
      date: 2024-02-11 00:21:54.0 +01:00
    }
    +createdAt: DateTimeImmutable @1703456131 {#1736
      date: 2023-12-24 23:15:31.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
  +image: null
  +parent: null
  +root: null
  +body: "this is definitely something to be proud of. great work, keep it up!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1707574202 {#1433
    date: 2024-02-10 15:10:02.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@harsh3466@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1579 …}
  +nested: Doctrine\ORM\PersistentCollection {#1577 …}
  +votes: Doctrine\ORM\PersistentCollection {#1578 …}
  +reports: Doctrine\ORM\PersistentCollection {#1571 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1574 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1667 …}
  -id: 249626
  -bodyTs: "'definit':3 'great':9 'keep':11 'proud':7 'someth':4 'work':10"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://infosec.pub/comment/5239895"
  +editedAt: null
  +createdAt: DateTimeImmutable @1703456451 {#1430
    date: 2023-12-24 23:20:51.0 +01:00
  }
  +"title": 249626
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
7 DENIED edit
App\Entity\EntryComment {#1695
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1591
    +user: Proxies\__CG__\App\Entity\User {#1740 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1613 …}
    +slug: "My-First-Regular-Expressions"
    +title: "My First Regular Expressions"
    +url: null
    +body: """
      I’ve been reading *Mastering Regular Expressions* by Jeffrey E.F. Friedl, and since nobody in my life (aside from my wife) cares, I thought I’d share something I’m pretty proud of. My first set of regular expressions, that I wrote myself to manipulate the text I’m working with.\n
      \n
      What’s I’m so happy about is that I wrote these expressions. I understand exactly what they do and the purpose of each character in each expression.\n
      \n
      I’ve used regex in the past. Stuff cobbled together from stack overflow, but I never really understood how they worked or what the expressions meant, just that they did what I needed them to do at the time.\n
      \n
      I’m only about 10% of the way through the book, but already I understand so much more than I ever did about regex *(I also recognize I have a lot to learn)*.\n
      \n
      I wrote the expressions to be used with egrep and sed to generate and clean up a list of filenames pulled out of tarballs. *(movies I’ve ripped from my DVD collection and tarballed to archive them)*.\n
      \n
      The first expression I wrote was this one used with tar and egrep to list the files in the tarball and get just the name of the video file:\n
      \n
      `tar -tzvf file.tar.gz | egrep -o ‘/[^/]*.m(kv|p4)’ > movielist`\n
      \n
      Which gives me a list of movies of which this is an example:\n
      \n
      `/The.Hunger.Games.(2012).[tmdbid-70160].mp4`\n
      \n
      Then I used sed with the expression groups to remove:\n
      \n
      - the leading forward slash\n
      - Everything from `.[` to the end\n
      - All of the periods in between words\n
      \n
      And the last expression checks for one or more spaces and replaces them with a single space.\n
      \n
      This is the full sed command:\n
      \n
      `sed -Eie ‘s/^///; s/.[[a-z]±[0-9]+].m(p4|kv)//; s/[^a-zA-Z0-9()&-]/ /g; s/ +/ /g’ movielist`\n
      \n
      Which leaves me with a pretty list of movies that looks like this:\n
      \n
      `The Hunger Games (2012)`\n
      \n
      I’m sure this could be done more elegantly, and I’m happy for any feedback on how to do that! For now, I’m just excited that I’m beginning to understand regex and how to use it!\n
      \n
      Edit: fixed title so it didn’t say “regex expressions”
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 63
    +favouriteCount: 214
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1711562613 {#1617
      date: 2024-03-27 19:03:33.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1604 …}
    +votes: Doctrine\ORM\PersistentCollection {#1619 …}
    +reports: Doctrine\ORM\PersistentCollection {#1683 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2411 …}
    +badges: Doctrine\ORM\PersistentCollection {#2370 …}
    +children: [
      App\Entity\EntryComment {#1695}
    ]
    -id: 24511
    -titleTs: "'express':4 'first':2 'regular':3"
    -bodyTs: "'-70160':243 '-9':302 '/g':312,314 '/the.hunger.games':240 '0':301 '10':123 '2012':241,332 '9':311 'a-z':298 'a-za-z0':307 'alreadi':131 'also':144 'archiv':187 'asid':18 'begin':363 'book':129 'care':22 'charact':76 'check':275 'clean':166 'cobbl':88 'collect':183 'command':293 'could':337 'd':26 'didn':377 'done':339 'dvd':182 'e.f':10 'edit':372 'egrep':160,201,221 'eie':295 'eleg':341 'end':263 'ever':139 'everyth':259 'exact':67 'exampl':239 'excit':359 'express':7,39,64,79,104,155,191,251,274,381 'feedback':348 'file':205,217 'file.tar.gz':220 'filenam':171 'first':35,190 'fix':373 'forward':257 'friedl':11 'full':291 'game':331 'generat':164 'get':210 'give':228 'group':252 'happi':57,345 'hunger':330 'jeffrey':9 'kv':224,305 'last':273 'lead':256 'learn':151 'leav':317 'life':17 'like':327 'list':169,203,231,322 'look':326 'lot':149 'm':30,49,55,120,223,303,334,344,357,362 'manipul':45 'master':5 'meant':105 'movi':176,233,324 'movielist':226,315 'mp4':244 'much':135 'name':213 'need':112 'never':95 'nobodi':14 'o':222 'one':196,277 'overflow':92 'p4':225,304 'past':86 'period':267 'pretti':31,321 'proud':32 'pull':172 'purpos':73 'read':4 'realli':96 'recogn':145 'regex':83,142,366,380 'regular':6,38 'remov':254 'replac':282 'rip':179 'say':379 'sed':162,248,292,294 'set':36 'share':27 'sinc':13 'singl':286 'slash':258 'someth':28 'space':280,287 'stack':91 'stuff':87 'sure':335 'tar':199,218 'tarbal':175,185,208 'text':47 'thought':24 'time':118 'titl':374 'tmdbid':242 'togeth':89 'tzvf':219 'understand':66,133,365 'understood':97 'use':82,158,197,247,370 've':2,81,178 'video':216 'way':126 'wife':21 'word':270 'work':50,100 'wrote':42,62,153,193 'z':300 'z0':310 'za':309"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1703542531
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/9942188"
    +editedAt: DateTimeImmutable @1707607314 {#1697
      date: 2024-02-11 00:21:54.0 +01:00
    }
    +createdAt: DateTimeImmutable @1703456131 {#1736
      date: 2023-12-24 23:15:31.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
  +image: null
  +parent: null
  +root: null
  +body: "this is definitely something to be proud of. great work, keep it up!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1707574202 {#1433
    date: 2024-02-10 15:10:02.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@harsh3466@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1579 …}
  +nested: Doctrine\ORM\PersistentCollection {#1577 …}
  +votes: Doctrine\ORM\PersistentCollection {#1578 …}
  +reports: Doctrine\ORM\PersistentCollection {#1571 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1574 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1667 …}
  -id: 249626
  -bodyTs: "'definit':3 'great':9 'keep':11 'proud':7 'someth':4 'work':10"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://infosec.pub/comment/5239895"
  +editedAt: null
  +createdAt: DateTimeImmutable @1703456451 {#1430
    date: 2023-12-24 23:20:51.0 +01:00
  }
  +"title": 249626
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
8 DENIED moderate
App\Entity\EntryComment {#1695
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1591
    +user: Proxies\__CG__\App\Entity\User {#1740 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1613 …}
    +slug: "My-First-Regular-Expressions"
    +title: "My First Regular Expressions"
    +url: null
    +body: """
      I’ve been reading *Mastering Regular Expressions* by Jeffrey E.F. Friedl, and since nobody in my life (aside from my wife) cares, I thought I’d share something I’m pretty proud of. My first set of regular expressions, that I wrote myself to manipulate the text I’m working with.\n
      \n
      What’s I’m so happy about is that I wrote these expressions. I understand exactly what they do and the purpose of each character in each expression.\n
      \n
      I’ve used regex in the past. Stuff cobbled together from stack overflow, but I never really understood how they worked or what the expressions meant, just that they did what I needed them to do at the time.\n
      \n
      I’m only about 10% of the way through the book, but already I understand so much more than I ever did about regex *(I also recognize I have a lot to learn)*.\n
      \n
      I wrote the expressions to be used with egrep and sed to generate and clean up a list of filenames pulled out of tarballs. *(movies I’ve ripped from my DVD collection and tarballed to archive them)*.\n
      \n
      The first expression I wrote was this one used with tar and egrep to list the files in the tarball and get just the name of the video file:\n
      \n
      `tar -tzvf file.tar.gz | egrep -o ‘/[^/]*.m(kv|p4)’ > movielist`\n
      \n
      Which gives me a list of movies of which this is an example:\n
      \n
      `/The.Hunger.Games.(2012).[tmdbid-70160].mp4`\n
      \n
      Then I used sed with the expression groups to remove:\n
      \n
      - the leading forward slash\n
      - Everything from `.[` to the end\n
      - All of the periods in between words\n
      \n
      And the last expression checks for one or more spaces and replaces them with a single space.\n
      \n
      This is the full sed command:\n
      \n
      `sed -Eie ‘s/^///; s/.[[a-z]±[0-9]+].m(p4|kv)//; s/[^a-zA-Z0-9()&-]/ /g; s/ +/ /g’ movielist`\n
      \n
      Which leaves me with a pretty list of movies that looks like this:\n
      \n
      `The Hunger Games (2012)`\n
      \n
      I’m sure this could be done more elegantly, and I’m happy for any feedback on how to do that! For now, I’m just excited that I’m beginning to understand regex and how to use it!\n
      \n
      Edit: fixed title so it didn’t say “regex expressions”
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 63
    +favouriteCount: 214
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1711562613 {#1617
      date: 2024-03-27 19:03:33.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1604 …}
    +votes: Doctrine\ORM\PersistentCollection {#1619 …}
    +reports: Doctrine\ORM\PersistentCollection {#1683 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2411 …}
    +badges: Doctrine\ORM\PersistentCollection {#2370 …}
    +children: [
      App\Entity\EntryComment {#1695}
    ]
    -id: 24511
    -titleTs: "'express':4 'first':2 'regular':3"
    -bodyTs: "'-70160':243 '-9':302 '/g':312,314 '/the.hunger.games':240 '0':301 '10':123 '2012':241,332 '9':311 'a-z':298 'a-za-z0':307 'alreadi':131 'also':144 'archiv':187 'asid':18 'begin':363 'book':129 'care':22 'charact':76 'check':275 'clean':166 'cobbl':88 'collect':183 'command':293 'could':337 'd':26 'didn':377 'done':339 'dvd':182 'e.f':10 'edit':372 'egrep':160,201,221 'eie':295 'eleg':341 'end':263 'ever':139 'everyth':259 'exact':67 'exampl':239 'excit':359 'express':7,39,64,79,104,155,191,251,274,381 'feedback':348 'file':205,217 'file.tar.gz':220 'filenam':171 'first':35,190 'fix':373 'forward':257 'friedl':11 'full':291 'game':331 'generat':164 'get':210 'give':228 'group':252 'happi':57,345 'hunger':330 'jeffrey':9 'kv':224,305 'last':273 'lead':256 'learn':151 'leav':317 'life':17 'like':327 'list':169,203,231,322 'look':326 'lot':149 'm':30,49,55,120,223,303,334,344,357,362 'manipul':45 'master':5 'meant':105 'movi':176,233,324 'movielist':226,315 'mp4':244 'much':135 'name':213 'need':112 'never':95 'nobodi':14 'o':222 'one':196,277 'overflow':92 'p4':225,304 'past':86 'period':267 'pretti':31,321 'proud':32 'pull':172 'purpos':73 'read':4 'realli':96 'recogn':145 'regex':83,142,366,380 'regular':6,38 'remov':254 'replac':282 'rip':179 'say':379 'sed':162,248,292,294 'set':36 'share':27 'sinc':13 'singl':286 'slash':258 'someth':28 'space':280,287 'stack':91 'stuff':87 'sure':335 'tar':199,218 'tarbal':175,185,208 'text':47 'thought':24 'time':118 'titl':374 'tmdbid':242 'togeth':89 'tzvf':219 'understand':66,133,365 'understood':97 'use':82,158,197,247,370 've':2,81,178 'video':216 'way':126 'wife':21 'word':270 'work':50,100 'wrote':42,62,153,193 'z':300 'z0':310 'za':309"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1703542531
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/9942188"
    +editedAt: DateTimeImmutable @1707607314 {#1697
      date: 2024-02-11 00:21:54.0 +01:00
    }
    +createdAt: DateTimeImmutable @1703456131 {#1736
      date: 2023-12-24 23:15:31.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
  +image: null
  +parent: null
  +root: null
  +body: "this is definitely something to be proud of. great work, keep it up!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1707574202 {#1433
    date: 2024-02-10 15:10:02.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@harsh3466@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1579 …}
  +nested: Doctrine\ORM\PersistentCollection {#1577 …}
  +votes: Doctrine\ORM\PersistentCollection {#1578 …}
  +reports: Doctrine\ORM\PersistentCollection {#1571 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1574 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1667 …}
  -id: 249626
  -bodyTs: "'definit':3 'great':9 'keep':11 'proud':7 'someth':4 'work':10"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://infosec.pub/comment/5239895"
  +editedAt: null
  +createdAt: DateTimeImmutable @1703456451 {#1430
    date: 2023-12-24 23:20:51.0 +01:00
  }
  +"title": 249626
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
9 DENIED ROLE_ADMIN
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
10 DENIED ROLE_MODERATOR
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details